Files
rea/tests/boundary/cli/processComparisonInputOrder.test.ts
T

44 lines
1.4 KiB
TypeScript
Raw Normal View History

import { writeFile } from "node:fs/promises";
import { join } from "node:path";
import { expect } from "vitest";
import { PROCESS_CAPTURE_REFERENCE } from "../../../src/contracts/investigationExamples.js";
import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js";
import { cliTest } from "../../support/cli/cliFixture.js";
cliTest.for(["left", "right"] as const)(
"authenticates the %s capture before reading later selected files",
async (side, { cli }) => {
const root = await createTestTempDirectory("rea-process-input-order-");
await writeFile(
join(root, "valid.json"),
JSON.stringify(PROCESS_CAPTURE_REFERENCE),
);
await writeFile(
join(root, "invalid.json"),
JSON.stringify({
...PROCESS_CAPTURE_REFERENCE,
evidence_id: `ev_${"0".repeat(64)}`,
}),
);
const result = await cli.run({
arguments: [
"compare-process-captures",
side === "left" ? "invalid.json" : "valid.json",
side === "left" ? "missing-right.json" : "invalid.json",
"missing-trace.json",
"--json",
],
cwd: root,
});
expect(JSON.parse(result.stdout)).toMatchObject({
code: "invalid_request",
category: "invalid_input",
details: {
issues: expect.arrayContaining([
expect.objectContaining({ path: ["evidence_id"] }),
]),
},
});
},
);