test: await completed ChatGPT sign-in and consent saves
Replace arbitrary event-loop budgets in two release-gate tests with fresh per-attempt sign-in notifications and the actual consent control reply, bounded by a clear watchdog. Retain all final-state assertions and explicitly verify successful connected/error-free completion. Controlled token/save gates demonstrate both old 100-turn waits return before completion; the corrected waits remain pending and retain the final persistence/UI assertions after release. Add small watchdog result/error/timeout tests. No production, workflow or dependency changes. Isolated checks: focused 87/87, full suite once 2517/2517, full ESLint and typecheck. The full run preceded three runtime-erased non-null array-index annotations; focused tests/typecheck/full ESLint passed again on final source.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { test } from "node:test";
|
||||
import { completedWithin } from "./completion.ts";
|
||||
|
||||
test("fixture completion wait returns its result and preserves its actual error", async () => {
|
||||
assert.equal(await completedWithin(Promise.resolve("saved"), "fixture save"), "saved");
|
||||
const failure = new Error("fixture persistence failed");
|
||||
await assert.rejects(completedWithin(Promise.reject(failure), "fixture save"), (error) => error === failure);
|
||||
});
|
||||
|
||||
test("fixture completion wait fails clearly if completion never arrives", async () => {
|
||||
await assert.rejects(
|
||||
completedWithin(new Promise<never>(() => {}), "verified fixture sign-in", 0),
|
||||
/Timed out after 0ms waiting for verified fixture sign-in/,
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user