test: dispense outcome capture — handler transitions, payment gate, resume op, hold mirror
Some checks failed
ci.yml / test: dispense outcome capture — handler transitions, payment gate, resume op, hold mirror (pull_request) Failing after 0s
Some checks failed
ci.yml / test: dispense outcome capture — handler transitions, payment gate, resume op, hold mirror (pull_request) Failing after 0s
Twenty tests in the project's style (asyncio.run, monkeypatched crud, no DB): confirmed → pending + distribution; nothing out → cash_owed; some out → partial_pending with nothing spawned; already-captured recorded not moved; identical resend acked without a row; report-before-payment stored unlinked and adopted when the payment lands; remediation moves the owed settlement; a remediation that did not confirm leaves it; unpaired sender / malformed body refused. The payment gate: cash_out → awaiting_dispense with no distribution, cash_in unchanged. The resume_cash_out op's position rule and wire shape, the worklist model's new buckets, and the state-document hold mirror set-and-clear. The existing nulls-never-reach-the-wire test learns the machine-wide op.
This commit is contained in:
parent
fdba2d363f
commit
79413dc06d
2 changed files with 544 additions and 0 deletions
|
|
@ -124,6 +124,8 @@ class TestWireShape:
|
|||
"recount": {"count": 1},
|
||||
"set_denomination": {"denomination": 1},
|
||||
"empty": {},
|
||||
# machine-wide (ADR-005 §5): position 0, no position on the wire
|
||||
"resume_cash_out": {"position": 0},
|
||||
}[op_type]
|
||||
wire = op(op_type=op_type, **kw).to_wire_dict()
|
||||
assert None not in wire.values()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue