- Rename 132 *.vitest.mjs -> *.vitest.ts - Rename vitest.setup.mjs -> vitest.setup.ts - Rename helpers/vitestEnvironment.mjs -> vitestEnvironment.ts - Delete settings_store.test.mjs (Node test runner, superseded by .vitest.ts) - Fix .mjs imports in vitest.setup.ts and grid_loader_adaptive_paging.vitest.ts Config updates: - vitest.config.mjs: setupFiles, include, coverage.include -> .ts - tsconfig.test.json: new dedicated config for test files (strict:false) - knip.json: update project pattern for tests - package.json: add typecheck:tests script (audit-only)
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { createExecutionAssetBuffer } from "../features/stacks/executionAssetBuffer.js";
|
|
|
|
describe("createExecutionAssetBuffer", () => {
|
|
it("buffers by job id and deduplicates files by output identity", () => {
|
|
const buffer = createExecutionAssetBuffer();
|
|
|
|
buffer.add("job-1", [
|
|
{ filename: "a.png", subfolder: "x", type: "output", source_node_id: "1" },
|
|
]);
|
|
const current = buffer.add("job-1", [
|
|
{ filename: "a.png", subfolder: "x", type: "output", source_node_type: "SaveImage" },
|
|
{ filename: "b.png", subfolder: "x", type: "output" },
|
|
]);
|
|
|
|
expect(current).toHaveLength(2);
|
|
expect(buffer.take("job-1")).toEqual([
|
|
{
|
|
filename: "a.png",
|
|
subfolder: "x",
|
|
type: "output",
|
|
source_node_id: "1",
|
|
source_node_type: "SaveImage",
|
|
},
|
|
{ filename: "b.png", subfolder: "x", type: "output" },
|
|
]);
|
|
});
|
|
|
|
it("clears a failed job without affecting others", () => {
|
|
const buffer = createExecutionAssetBuffer();
|
|
buffer.add("job-1", [{ filename: "a.png", type: "output" }]);
|
|
buffer.add("job-2", [{ filename: "b.png", type: "output" }]);
|
|
|
|
buffer.clear("job-1");
|
|
|
|
expect(buffer.take("job-1")).toEqual([]);
|
|
expect(buffer.take("job-2")).toEqual([{ filename: "b.png", type: "output" }]);
|
|
});
|
|
});
|