"""运输计划列头 facet 上下文剥离单测。""" from app.services.pl.plan_column_facet_context import strip_plan_facet_self_params def test_strip_carrier_keeps_load_customers(): params = { "field": "carrierName", "limit": 500, "carrierNameIn": "甲,乙", "loadCustomersIn": "客户A", "transportStatus": "arranged", } out = strip_plan_facet_self_params(params, "carrierName") assert "carrierNameIn" not in out assert out["loadCustomersIn"] == "客户A" assert out["transportStatus"] == "arranged" assert "field" not in out assert "limit" not in out def test_strip_load_customer_aliases(): params = { "loadCustomersIn": "A", "loadCustomers": '["A"]', "stopCustomers": '["A"]', "deliveryCustomersIn": "B", "carrierNameIn": "甲", } out = strip_plan_facet_self_params(params, "loadCustomer") assert "loadCustomersIn" not in out assert "stopCustomers" not in out assert out["deliveryCustomersIn"] == "B" assert out["carrierNameIn"] == "甲" def test_strip_load_customers_field_alias(): params = {"loadCustomersIn": "A", "carrierNameIn": "甲"} out = strip_plan_facet_self_params(params, "loadCustomers") assert "loadCustomersIn" not in out assert out["carrierNameIn"] == "甲" def test_strip_does_not_mutate_input(): params = {"carrierNameIn": "甲", "loadCustomersIn": "A"} strip_plan_facet_self_params(params, "carrierName") assert params["carrierNameIn"] == "甲"