mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-27 23:07:12 +02:00
36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
import { CommandTester } from '../test-utils/command-tester';
|
|
|
|
describe('prerelease command', () => {
|
|
const originalEnv = process.env;
|
|
const mockProcessStdout = vi.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
|
|
beforeEach(() => {
|
|
vi.clearAllMocks();
|
|
process.env = { ...originalEnv };
|
|
delete process.env.RELEASE_MODE;
|
|
});
|
|
|
|
afterEach(() => {
|
|
process.env = originalEnv;
|
|
});
|
|
|
|
test('without RELEASE_MODE - exits with error and shows message', async () => {
|
|
await expect(CommandTester.run('prerelease')).rejects.toThrow('EEXIT: 1');
|
|
|
|
const stdoutCalls = mockProcessStdout.mock.calls.flat();
|
|
const hasReleaseMessage = stdoutCalls.some(
|
|
(call) => typeof call === 'string' && call.includes('run release` to publish the package'),
|
|
);
|
|
expect(hasReleaseMessage).toBe(true);
|
|
});
|
|
|
|
test('with RELEASE_MODE - succeeds without logging', async () => {
|
|
process.env.RELEASE_MODE = 'true';
|
|
|
|
const result = await CommandTester.run('prerelease');
|
|
|
|
expect(result).toBeDefined();
|
|
expect(mockProcessStdout).not.toHaveBeenCalled();
|
|
});
|
|
});
|