Files
gemini-cli/packages/cli/src/commands/utils.test.ts
2025-11-24 17:41:46 +00:00

42 lines
1.1 KiB
TypeScript

/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
import { exitCli } from './utils.js';
import { runExitCleanup } from '../utils/cleanup.js';
vi.mock('../utils/cleanup.js', () => ({
runExitCleanup: vi.fn(),
}));
describe('utils', () => {
const originalProcessExit = process.exit;
beforeEach(() => {
// @ts-expect-error - Mocking process.exit
process.exit = vi.fn();
});
afterEach(() => {
process.exit = originalProcessExit;
vi.clearAllMocks();
});
describe('exitCli', () => {
it('should call runExitCleanup and process.exit with default exit code 0', async () => {
await exitCli();
expect(runExitCleanup).toHaveBeenCalled();
expect(process.exit).toHaveBeenCalledWith(0);
});
it('should call runExitCleanup and process.exit with specified exit code', async () => {
await exitCli(1);
expect(runExitCleanup).toHaveBeenCalled();
expect(process.exit).toHaveBeenCalledWith(1);
});
});
});