Files
shanxia2.0/backend/tests/test_pl_freight_party_customers.py
T
2026-10-06 17:55:20 +08:00

48 lines
1.4 KiB
Python

"""未结算计划:装货/送货客户名称去重与回退。"""
from __future__ import annotations
from app.services.pl.freight_party_customers import (
resolve_plan_party_customers,
unique_customer_names,
)
def test_unique_customer_names_strips_dedupes_preserves_order():
assert unique_customer_names([" 甲 ", "乙", "甲", "", None, "丙"]) == ["甲", "乙", "丙"]
def test_resolve_uses_stop_names_over_legacy():
load, delivery = resolve_plan_party_customers(
load_names=["装货A"],
delivery_names=["送货1", "送货2"],
fallback_supplier="旧供应商",
fallback_customer="旧客户",
fallback_destination="旧目的地",
)
assert load == ["装货A"]
assert delivery == ["送货1", "送货2"]
def test_resolve_falls_back_when_stops_empty():
load, delivery = resolve_plan_party_customers(
load_names=[],
delivery_names=["", " "],
fallback_supplier="供应商X",
fallback_customer="客户Y",
fallback_destination="目的地Z",
)
assert load == ["供应商X"]
assert delivery == ["客户Y"]
def test_resolve_delivery_falls_back_to_destination():
load, delivery = resolve_plan_party_customers(
load_names=[],
delivery_names=[],
fallback_supplier=None,
fallback_customer=None,
fallback_destination="目的地Z",
)
assert load == []
assert delivery == ["目的地Z"]