[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.4 kB · 43 lines
TypeScript
at ref/lint
1234567891011121314151617181920212223242526272829303132333435363738394041424344import { describe, it, expect } from "vitest";import { createMocks } from "./mock.ts";import { MockReadable, MockWritable } from "./stdio.ts";
describe("createMocks", () => { it("returns undefined streams when not requested", () => { const mocks = createMocks(); expect(mocks.input).toBeUndefined(); expect(mocks.output).toBeUndefined(); });
it("creates input stream with `true`", () => { const mocks = createMocks({ input: true }); expect(mocks.input).toBeInstanceOf(MockReadable); });
it("creates output stream with `true`", () => { const mocks = createMocks({ output: true }); expect(mocks.output).toBeInstanceOf(MockWritable); });
it("passes config to output stream", () => { const mocks = createMocks({ output: { columns: 120, rows: 40, isTTY: true } }); expect(mocks.output.columns).toBe(120); expect(mocks.output.rows).toBe(40); expect(mocks.output.isTTY).toBe(true); });
it("passes config to input stream", () => { const mocks = createMocks({ input: { isTTY: true } }); expect(mocks.input.isTTY).toBe(true); });
it("stubs env vars for duration of test", () => { createMocks({ env: { TEST_MOCK_VAR: "hello" } }); expect(process.env.TEST_MOCK_VAR).toBe("hello"); });
it("restores env vars after test finishes", async () => { // Previous test's onTestFinished should have cleaned up expect(process.env.TEST_MOCK_VAR).toBeUndefined(); });});