Skip to content

test(web): pin History void→adjust cross-scope close on the success path (#703 PR 3 residual) #709

Closed

Description

@mforce

Found while reviewing #706 (#703 PR 3). Test-only; the shipped code is correct.

Gap. HistoryPage.onVoid force-closes a same-entry adjust dialog on the void's SUCCESS path — if (adjusting?.id === e.id) { setAdjusting(null); dismissDialog("adjust"); } (HistoryPage.tsx:478) — the ungated cross-scope close the owner locked in PR 3 (19-handoff-pr3.md §0 item 3). Its dismissDialog half (mute + end session) is defensive and unreachable by construction: the single flight guard makes an in-flight adjust and a landing void mutually exclusive (recorded as unpinnable in 23-delivery-contract-pr3.md AC-6). But the VISUAL half — the adjust dialog actually closing when its entry is voided from the row — is reachable and untested: dropping the whole line in the success branch keeps the suite green. The 409 twin at :487 is pinned (the pre-existing #491 conflict tests); the success twin is not.

Fix. One test in web/src/routes/HistoryPage.test.tsx: open an entry's adjust dialog, void that same entry from its row (the row void button is reachable behind the backdrop — same shape the existing 409 test uses), let the void succeed → the adjust dialog is gone and entryVoidedMessage shows. Then run the mutant (delete the if (adjusting?.id === e.id) … line at :478) and confirm the new test goes RED; restore; green.

Scope. Test only. No product change. Not part of #703 PR 4 (Users) by owner decision 2026-09-07.

Activity

  1. mforce commented on Sep 8, 2026

    @mforce
    OwnerAuthor

    Fixed in #714 (merged 37e802a): test(web): pin History void→adjust close on the void success path. The auto-close keyword only parsed #708; closing manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions