mostalive
|
4e0aea732a
|
Add payment state to Order with guarded Pay transition
- Order records payments: Payments, AmountPaid, Outstanding,
IsFullyPaid (parameterless, replaces IsFullyPaid(expectedTotal))
- Pay rejects open orders, non-positive amounts, and overpayments
- 4 new OrderCompletion tests assert observable state:
PaymentOnOpenOrder_Throws_OrderStillUnpaid,
CompletedOrder_PartialPayment_IsNotFullyPaid,
CompletedOrder_PaymentsSummingToTotal_IsFullyPaid,
Overpayment_Throws_AmountPaidUnchanged
- 11 tests green (6 OrderTotal + 5 OrderCompletion)
|
2026-10-01 13:46:10 +01:00 |
|