fix: 采购价格上限按数量计算总价 (#181)

This commit is contained in:
chengma
2026-08-12 14:43:18 +08:00
parent 8c7be7bd07
commit 253be7cb61
24 changed files with 203 additions and 106 deletions
+3 -2
View File
@@ -251,18 +251,19 @@ class PurchaseTaskServiceTest(unittest.TestCase):
self.assertEqual(observed, [("PUR-STARTED", TaskStatus.RUNNING)])
def test_price_above_limit_stops_before_confirmation(self):
def test_order_total_above_limit_stops_on_confirmation(self):
self._prepare_task()
adapter = RecordingDryRunAdapter(price_cent=5001)
outcome = self._service(adapter).execute_one_local()
self.assertEqual(outcome.kind, "task_failed")
self.assertNotIn(("enter_confirmation",), adapter.calls)
self.assertIn(("enter_confirmation",), adapter.calls)
detail = self.repository.get_task("PUR-001")
assert detail is not None
self.assertEqual(detail.status, TaskStatus.FAILED)
self.assertEqual(detail.last_error_code, "PURCHASE_PRICE_EXCEEDED")
self.assertIn("订单总价", detail.last_error_message)
def test_unavailable_goods_stops_before_specs_and_is_not_retryable(self):
self._prepare_task()