29 lines
808 B
JavaScript
29 lines
808 B
JavaScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
import {
|
|
settleWorkspaceTasks,
|
|
WORKSPACE_TASK_TIMEOUT_MS,
|
|
} from "./workspace-task-state.ts";
|
|
|
|
test("workspace task requests allow a normal cold-start window", () => {
|
|
assert.equal(WORKSPACE_TASK_TIMEOUT_MS, 5_000);
|
|
});
|
|
|
|
test("workspace task state preserves successful results", async () => {
|
|
const tasks = [{ id: "task-1" }];
|
|
|
|
assert.deepEqual(await settleWorkspaceTasks(Promise.resolve(tasks)), {
|
|
tasks,
|
|
unavailable: false,
|
|
});
|
|
});
|
|
|
|
test("workspace task state contains aborted or failed requests", async () => {
|
|
const failure = Promise.reject(new DOMException("This operation was aborted", "AbortError"));
|
|
|
|
assert.deepEqual(await settleWorkspaceTasks(failure), {
|
|
tasks: [],
|
|
unavailable: true,
|
|
});
|
|
});
|