2026-01-16 15:24:53 -05:00
|
|
|
/**
|
|
|
|
|
* @license
|
|
|
|
|
* Copyright 2025 Google LLC
|
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import { renderWithProviders } from '../../test-utils/render.js';
|
|
|
|
|
import { describe, it, expect, vi, afterEach } from 'vitest';
|
|
|
|
|
import { act } from 'react';
|
|
|
|
|
import { AdminSettingsChangedDialog } from './AdminSettingsChangedDialog.js';
|
|
|
|
|
|
|
|
|
|
const handleRestartMock = vi.fn();
|
|
|
|
|
|
|
|
|
|
describe('AdminSettingsChangedDialog', () => {
|
|
|
|
|
afterEach(() => {
|
|
|
|
|
vi.restoreAllMocks();
|
|
|
|
|
});
|
|
|
|
|
|
2026-02-18 16:46:50 -08:00
|
|
|
it('renders correctly', async () => {
|
|
|
|
|
const { lastFrame, waitUntilReady } = renderWithProviders(
|
|
|
|
|
<AdminSettingsChangedDialog />,
|
|
|
|
|
);
|
|
|
|
|
await waitUntilReady();
|
2026-01-16 15:24:53 -05:00
|
|
|
expect(lastFrame()).toMatchSnapshot();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('restarts on "r" key press', async () => {
|
2026-02-18 16:46:50 -08:00
|
|
|
const { stdin, waitUntilReady } = renderWithProviders(
|
|
|
|
|
<AdminSettingsChangedDialog />,
|
|
|
|
|
{
|
|
|
|
|
uiActions: {
|
|
|
|
|
handleRestart: handleRestartMock,
|
|
|
|
|
},
|
2026-01-16 15:24:53 -05:00
|
|
|
},
|
2026-02-18 16:46:50 -08:00
|
|
|
);
|
|
|
|
|
await waitUntilReady();
|
2026-01-16 15:24:53 -05:00
|
|
|
|
|
|
|
|
act(() => {
|
|
|
|
|
stdin.write('r');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
expect(handleRestartMock).toHaveBeenCalled();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it.each(['r', 'R'])('restarts on "%s" key press', async (key) => {
|
2026-02-18 16:46:50 -08:00
|
|
|
const { stdin, waitUntilReady } = renderWithProviders(
|
|
|
|
|
<AdminSettingsChangedDialog />,
|
|
|
|
|
{
|
|
|
|
|
uiActions: {
|
|
|
|
|
handleRestart: handleRestartMock,
|
|
|
|
|
},
|
2026-01-16 15:24:53 -05:00
|
|
|
},
|
2026-02-18 16:46:50 -08:00
|
|
|
);
|
|
|
|
|
await waitUntilReady();
|
2026-01-16 15:24:53 -05:00
|
|
|
|
|
|
|
|
act(() => {
|
|
|
|
|
stdin.write(key);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
expect(handleRestartMock).toHaveBeenCalled();
|
|
|
|
|
});
|
|
|
|
|
});
|