20 lines
748 B
TypeScript
20 lines
748 B
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { mkdtempSync, mkdirSync, writeFileSync } from "node:fs";
|
|
import { tmpdir } from "node:os";
|
|
import { join } from "node:path";
|
|
import { computeSnapshot } from "./snapshot";
|
|
|
|
describe("computeSnapshot", () => {
|
|
it("returns sorted file paths + sha256 hashes", () => {
|
|
const tmp = mkdtempSync(join(tmpdir(), "snapshot-"));
|
|
mkdirSync(join(tmp, "src"));
|
|
writeFileSync(join(tmp, "package.json"), `{ "name": "x" }\n`);
|
|
writeFileSync(join(tmp, "src", "index.ts"), `export {};\n`);
|
|
const snap = computeSnapshot(tmp);
|
|
expect(snap).toEqual([
|
|
{ path: "package.json", sha256: expect.any(String) },
|
|
{ path: "src/index.ts", sha256: expect.any(String) },
|
|
]);
|
|
});
|
|
});
|