UNPKG

spanwright

Version:

CLI tool to generate Cloud Spanner E2E testing framework projects with Go database tools and Playwright browser automation

88 lines 3.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupMockEnvironment = exports.resetAllMocks = exports.createMockFile = exports.createMockReadlineInterface = exports.mockPath = exports.mockFs = exports.mockReadline = exports.mockProcess = exports.mockConsole = void 0; const vitest_1 = require("vitest"); exports.mockConsole = { log: vitest_1.vi.fn(), error: vitest_1.vi.fn(), warn: vitest_1.vi.fn(), info: vitest_1.vi.fn(), }; exports.mockProcess = { exit: vitest_1.vi.fn(), env: {}, argv: ['node', 'spanwright'], cwd: vitest_1.vi.fn().mockReturnValue('/test/cwd'), pid: 12345, }; exports.mockReadline = { createInterface: vitest_1.vi.fn(), question: vitest_1.vi.fn(), close: vitest_1.vi.fn(), }; exports.mockFs = { existsSync: vitest_1.vi.fn(), mkdirSync: vitest_1.vi.fn(), readFileSync: vitest_1.vi.fn(), writeFileSync: vitest_1.vi.fn(), unlinkSync: vitest_1.vi.fn(), renameSync: vitest_1.vi.fn(), readdirSync: vitest_1.vi.fn(), statSync: vitest_1.vi.fn(), copyFileSync: vitest_1.vi.fn(), rmSync: vitest_1.vi.fn(), }; exports.mockPath = { join: vitest_1.vi.fn((...args) => args.join('/')), resolve: vitest_1.vi.fn((...args) => '/' + args.join('/')), dirname: vitest_1.vi.fn(path => path.split('/').slice(0, -1).join('/')), basename: vitest_1.vi.fn(path => path.split('/').pop()), extname: vitest_1.vi.fn(path => { const parts = path.split('.'); return parts.length > 1 ? '.' + parts.pop() : ''; }), isAbsolute: vitest_1.vi.fn(path => path.startsWith('/')), }; const createMockReadlineInterface = () => ({ question: vitest_1.vi.fn(), close: vitest_1.vi.fn(), }); exports.createMockReadlineInterface = createMockReadlineInterface; const createMockFile = (content) => ({ toString: () => content, length: content.length, }); exports.createMockFile = createMockFile; const resetAllMocks = () => { vitest_1.vi.clearAllMocks(); Object.values(exports.mockConsole).forEach(mock => { if (typeof mock === 'function' && 'mockReset' in mock) { mock.mockReset(); } }); Object.values(exports.mockProcess).forEach(mock => { if (typeof mock === 'function' && 'mockReset' in mock) { mock.mockReset(); } }); Object.values(exports.mockFs).forEach(mock => { if (typeof mock === 'function' && 'mockReset' in mock) { mock.mockReset(); } }); Object.values(exports.mockPath).forEach(mock => { if (typeof mock === 'function' && 'mockReset' in mock) { mock.mockReset(); } }); }; exports.resetAllMocks = resetAllMocks; const setupMockEnvironment = () => { vitest_1.vi.mock('console', () => exports.mockConsole); vitest_1.vi.mock('process', () => exports.mockProcess); vitest_1.vi.mock('readline', () => exports.mockReadline); vitest_1.vi.mock('fs', () => exports.mockFs); vitest_1.vi.mock('path', () => exports.mockPath); }; exports.setupMockEnvironment = setupMockEnvironment; //# sourceMappingURL=test-utils.js.map