Public: anyone can read this; the crew can change it.
Forking from the terminal is red when the fork is fast: two tests wait for a Mirroring card that is already gone #308
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/305-forking-from-the-terminal-is-red-when-th → main 1 commit fork
1 file
changed +7
−5
test/tui-workflows.test.ts +7 −5
| @@ -386,9 +386,9 @@ describe("workflows at an origin", () => { | ||
| 386 | 386 | expect(h.text()).toContain("and mirror it here?"); |
| 387 | 387 | |
| 388 | 388 | await h.press("enter"); |
| 389 | // The ordinary mirror card, over the job the fork started. | |
| 390 | await h.until("Mirroring"); | |
| 391 | // …and then the fork's own workspace, which says whose work it is. | |
| 389 | // The mirror runs over the job the fork started; wait for the | |
| 390 | // outcome — the fork's own workspace — rather than the mirror card, | |
| 391 | // which can finish and be gone before the next poll ever sees it. | |
| 392 | 392 | await h.until(`fork of ${UPSTREAM}/gears`, 60_000); |
| 393 | 393 | |
| 394 | 394 | const fork = getRepo(forge.db, "alice", "gears"); |
| @@ -417,8 +417,10 @@ describe("workflows at an origin", () => { | ||
| 417 | 417 | // somewhere here to be imported into — the "local import" half. |
| 418 | 418 | await select(h, `${UPSTREAM}/widgets`); |
| 419 | 419 | await h.press("m"); |
| 420 | await h.until("Mirroring"); | |
| 420 | // Wait for the outcome, not the mirror card: on a fast machine the | |
| 421 | // job can finish before the next poll ever sees "Mirroring". | |
| 421 | 422 | await h.until("mirrored as alice/widgets", 60_000); |
| 423 | expect(getRepo(forge.db, "alice", "widgets")).toBeDefined(); | |
| 422 | 424 | |
| 423 | 425 | // Now browse it live: read-only, and not ours to push to. |
| 424 | 426 | await h.press("enter"); |
| @@ -480,8 +482,8 @@ describe("workflows at an origin", () => { | ||
| 480 | 482 | await openPicker(h); |
| 481 | 483 | await select(h, `${ORIGIN_LOGIN}/own`); |
| 482 | 484 | // Mirror it, then work on the copy: this is the push-capable path. |
| 485 | // Wait for the outcome, not the mirror card — see the fork test above. | |
| 483 | 486 | await h.press("m"); |
| 484 | await h.until("Mirroring"); | |
| 485 | 487 | await h.until("mirrored as alice/own", 60_000); |
| 486 | 488 | await h.press("enter"); |
| 487 | 489 | await h.until("read live"); |
new above
offline