fix(ui): clarify document errors and retain readable actions
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import React from 'react';
|
||||
import '@testing-library/jest-dom';
|
||||
import { fireEvent, render, screen } from '@testing-library/react';
|
||||
import { MemoryRouter, Route, Routes, useLocation } from 'react-router-dom';
|
||||
import NotFoundPage from './views/NotFoundPage';
|
||||
import { I18nProvider } from './i18n/I18nProvider';
|
||||
|
||||
afterEach(() => localStorage.removeItem('uiLanguage'));
|
||||
function Previous() { const location = useLocation(); return <div>{location.pathname + location.search}</div>; }
|
||||
|
||||
test.each([['en', 'Page not found', 'Go back'], ['nb', 'Siden ble ikke funnet', 'Gå tilbake']])('unknown %s page has contextual headings and preserves Back', (language, title, back) => {
|
||||
localStorage.setItem('uiLanguage', language);
|
||||
render(<I18nProvider><MemoryRouter initialEntries={['/previous?keep=context', '/unknown']} initialIndex={1}>
|
||||
<Routes><Route path="/previous" element={<Previous />} /><Route path="*" element={<NotFoundPage />} /></Routes>
|
||||
</MemoryRouter></I18nProvider>);
|
||||
expect(screen.getByRole('heading', { name: title, level: 2 })).toBeInTheDocument();
|
||||
expect(screen.queryByRole('heading', { name: '404' })).not.toBeInTheDocument();
|
||||
fireEvent.click(screen.getByRole('button', { name: back }));
|
||||
expect(screen.getByText('/previous?keep=context')).toBeInTheDocument();
|
||||
});
|
||||
Reference in New Issue
Block a user