[READ-ONLY] Mirror of https://github.com/bombshell-dev/tools. Internal CLI to standardize tooling across all Bombshell projects
Something went wrong. Try again.
1.5 kB · 41 lines
TypeScript
at feat/docs
123456789101112131415161718192021222324252627282930313233343536373839404142import { describe, it, expect } from "vitest";import { existsSync } from "node:fs";import { createFixture } from "./fixture.ts";
describe("createFixture", () => { it("creates files on disk from inline tree", async () => { const fixture = await createFixture({ "hello.txt": "hello world", }); expect(await fixture.text("hello.txt")).toBe("hello world"); });
it("creates nested directories from slash-separated keys", async () => { const fixture = await createFixture({ "src/index.ts": "export const x = 1", "src/utils/helpers.ts": "export function help() {}", }); expect(await fixture.isFile("src/index.ts")).toBe(true); expect(await fixture.isFile("src/utils/helpers.ts")).toBe(true); });
it("resolve returns absolute path within fixture root", async () => { const fixture = await createFixture({ "a.txt": "" }); expect(fixture.resolve("a.txt").toString()).toContain(fixture.root.toString()); });
it("text reads the actual file", async () => { const fixture = await createFixture({ "a.txt": "Empty" }); expect(await fixture.text("a.txt")).toEqual("Empty"); await fixture.write("a.txt", "Hello world!"); expect(await fixture.text("a.txt")).toEqual("Hello world!"); });
it("cleanup removes the temp directory", async () => { const fixture = await createFixture({ "a.txt": "" }); const path = fixture.root; expect(await fixture.isDirectory(".")).toBe(true); await fixture.cleanup(); expect(existsSync(path)).toBe(false); });});