test: model admitted blocker receipt deterministically
All checks were successful
CI / lint (pull_request) Successful in 2m38s
CI / build-release (pull_request) Successful in 6s
CI / browser-journey (pull_request) Successful in 2m56s
CI / release-candidate (pull_request) Has been skipped

This commit is contained in:
timmy 2026-08-19 07:42:46 +00:00
parent be9ce8ede6
commit f09c922c46

View File

@ -530,11 +530,20 @@ def test_release_artifact_recovers_admitted_blocker_after_reload_and_opens_next_
expect(page.locator("#resume-today-break")).to_be_visible()
page.evaluate("""() => {
const outbox = JSON.parse(localStorage.getItem('stackchain.authored-outbox.v1') ||
'{"version":2,"items":[]}');
outbox.items.push({
id: 'already-admitted-blocker', operationId: 'already-admitted-blocker',
kind: 'issue-comment', repository: 'acme/mobile', number: 41,
body: 'Blocked after reload waiting for the design owner', ownerLogin: 'timmy',
status: 'queued', queuedAt: Date.now()
});
localStorage.setItem('stackchain.authored-outbox.v1', JSON.stringify(outbox));
localStorage.setItem('stackchain.today-progress.v1.timmy', JSON.stringify({
version: 1,
drafts: {
'issue:acme/mobile:41:': {
body: 'Blocked waiting for the design owner',
body: 'Blocked after reload waiting for the design owner',
operation_id: 'already-admitted-blocker',
blocker_pending: true,
blocker_until: '2000-01-02T03:04:00.000Z'
@ -575,17 +584,22 @@ def test_release_artifact_recovers_admitted_blocker_after_reload_and_opens_next_
assert state["today"] == ["issue:acme/mobile:42:"]
assert state["later"]["issue:acme/mobile:41:"].startswith("2099-08-19T09:00")
queued_comments = [
item for item in state["outbox"]["items"] if item["kind"] == "issue-comment"
item for item in state["outbox"]["items"]
if item["kind"] == "issue-comment"
and item["number"] == 41
and item["body"] == "Blocked after reload waiting for the design owner"
]
delivered_comments = [
{"number": number, "body": body}
for number, body in fake.comments
if number == 41 and body == "Blocked waiting for the design owner"
if number == 41 and body == "Blocked after reload waiting for the design owner"
]
assert len(queued_comments) + len(delivered_comments) == 1
receipt = (queued_comments + delivered_comments)[0]
assert len(queued_comments) <= 1
assert len(delivered_comments) <= 1
assert queued_comments or delivered_comments
receipt = (delivered_comments or queued_comments)[0]
assert receipt["number"] == 41
assert receipt["body"] == "Blocked waiting for the design owner"
assert receipt["body"] == "Blocked after reload waiting for the design owner"
assert page.evaluate("document.documentElement.scrollWidth <= window.innerWidth")
assert browser_errors == []
browser.close()