/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import { vi } from 'vitest';
import { RELAUNCH_EXIT_CODE, relaunchApp } from './processUtils.js';
import * as cleanup from './cleanup.js';
import * as handleAutoUpdate from './handleAutoUpdate.js';
vi.mock('./handleAutoUpdate.js', () => ({
    waitForUpdateCompletion: vi.fn().mockResolvedValue(undefined),
}));
describe('processUtils', () => {
    const processExit = vi
        .spyOn(process, 'exit')
        .mockReturnValue(undefined);
    const runExitCleanup = vi.spyOn(cleanup, 'runExitCleanup');
    afterEach(() => vi.clearAllMocks());
    it('should wait for updates, run cleanup, and exit with the relaunch code', async () => {
        await relaunchApp();
        expect(handleAutoUpdate.waitForUpdateCompletion).toHaveBeenCalledTimes(1);
        expect(runExitCleanup).toHaveBeenCalledTimes(1);
        expect(processExit).toHaveBeenCalledWith(RELAUNCH_EXIT_CODE);
    });
});
//# sourceMappingURL=processUtils.test.js.map