[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 main
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(); });});