Real deferred revenue through close, reopen and replay
Verification Boundary
This suite exercises the named persistence or service behavior on the local integration database. Its bindings can cover parts of a combined capability scenario.
What This Suite Proves
An invoice creates a real schedule and posting; closing recognizes due shares, reopening writes reversal entries and closing again posts new entries. A wrapped real port throws before commit to check rollback and replay without duplication.
What It Does Not Prove
This register records assertion scope without claiming a passing run or complete coverage of every rule and scenario variant.
Real Dependencies and Test Doubles
The invoice, schedule, recognition and reversal use the real posting services and PostgreSQL. The aging request is a supplied response; the recognition fault wrapper invokes the real port and throws before transaction commit.
Must Not Be Doubled
The persistence and database constraints under assertion must remain real. A financial port stand-in cannot qualify actual recognition or reversal; those outcomes require the real posting suite.