semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
43 lines • 1.85 kB
JavaScript
;
jest.mock('chalk', () => {
const chain = new Proxy((s) => (typeof s === 'string' ? s : ''), {
get: () => chain,
apply: (_t, _a, args) => (args && typeof args[0] === 'string' ? args[0] : '')
});
return { __esModule: true, default: chain, ...chain };
});
jest.mock('ora', () => ({ __esModule: true, default: () => ({ start: () => ({ succeed() { }, fail() { }, stop() { }, text: '' }) }) }));
jest.mock('inquirer', () => ({ __esModule: true, prompt: jest.fn(() => Promise.resolve({})) }));
describe('CLI: enhanced-cli completion generate', () => {
let logSpy;
let exitSpy;
let errSpy;
beforeEach(() => {
jest.resetModules();
logSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
exitSpy = jest.spyOn(process, 'exit').mockImplementation((() => undefined));
errSpy = jest.spyOn(console, 'error').mockImplementation(() => { });
});
afterEach(() => {
logSpy.mockRestore();
exitSpy.mockRestore();
errSpy.mockRestore();
});
it('prints bash completion script', () => {
process.argv = ['node', 'semantic-ds', 'completion', 'generate', 'bash'];
jest.isolateModules(() => {
require('../../src/cli/enhanced-cli');
});
const out = logSpy.mock.calls.map((c) => String(c[0] ?? '')).join('\n');
expect(out).toContain('complete -F');
});
it('prints zsh completion script', () => {
process.argv = ['node', 'semantic-ds', 'completion', 'generate', 'zsh'];
jest.isolateModules(() => {
require('../../src/cli/enhanced-cli');
});
const out = logSpy.mock.calls.map((c) => String(c[0] ?? '')).join('\n');
expect(out).toContain('#compdef semantic-ds');
});
});
//# sourceMappingURL=enhanced-cli-completion.test.js.map