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