test_pl_io_order_enrichment.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from app.services.pl_io_order_service import (
  2. resolve_unit_label,
  3. PLAN_TYPE_BUSINESS_LABEL,
  4. merge_plan_logistics_into_order,
  5. merge_plan_product_into_item,
  6. )
  7. def test_resolve_unit_label_maps_dun():
  8. assert resolve_unit_label({"dun": "吨"}, "dun") == "吨"
  9. assert resolve_unit_label({}, "dun") == "dun"
  10. assert resolve_unit_label({}, None) == "吨"
  11. assert resolve_unit_label({}, "") == "吨"
  12. def test_merge_plan_logistics_into_order():
  13. data = {"remark": "order-remark"}
  14. plan = type(
  15. "P",
  16. (),
  17. {
  18. "plan_type": "outbound",
  19. "remark": "plan-remark",
  20. "pickup_address": "取货路1号",
  21. "pickup_lng": 117.0,
  22. "pickup_lat": 30.5,
  23. "pickup_time": None,
  24. "pickup_notes": "戴帽",
  25. "destination_name": "仓库A",
  26. "destination_address": "送货路2号",
  27. "destination_lng": None,
  28. "destination_lat": None,
  29. "delivery_time": None,
  30. "destination_notes": "北门",
  31. },
  32. )()
  33. merge_plan_logistics_into_order(data, plan)
  34. assert data["businessType"] == "出库"
  35. assert data["planRemark"] == "plan-remark"
  36. assert data["remark"] == "order-remark" # 单据备注不被覆盖
  37. assert data["pickupAddress"] == "取货路1号"
  38. assert data["destinationAddress"] == "送货路2号"
  39. assert data["destinationName"] == "仓库A"
  40. def test_merge_plan_product_into_item():
  41. item = {"unit": "dun", "productName": "尿素"}
  42. product = type(
  43. "PP",
  44. (),
  45. {
  46. "product_no": "P001",
  47. "package_spec": "50kg/袋",
  48. "remark": "易潮",
  49. "unit": "dun",
  50. "model": "46.4%",
  51. "product_name": "工业级尿素",
  52. },
  53. )()
  54. merge_plan_product_into_item(item, product, unit_map={"dun": "吨"})
  55. assert item["productNo"] == "P001"
  56. assert item["packageSpec"] == "50kg/袋"
  57. assert item["remark"] == "易潮"
  58. assert item["unitLabel"] == "吨"
  59. assert item["unit"] == "dun"