test(dark-mode): updated tests using the theme provider

This commit is contained in:
vincentbpro 2022-02-24 16:57:36 +01:00
parent d50bf67bf2
commit d4447cb481
19 changed files with 292 additions and 169 deletions

View File

@ -2,6 +2,7 @@ import React from 'react';
import { render, waitFor } from '@testing-library/react';
import { QueryClientProvider, QueryClient } from 'react-query';
import { useGuidedTour } from '@strapi/helper-plugin';
import { lightTheme } from '@strapi/design-system';
import { ConfigurationsContext } from '../../../contexts';
import {
fetchAppInfo,
@ -11,8 +12,11 @@ import {
} from '../utils/api';
import packageJSON from '../../../../../package.json';
import Theme from '../../Theme';
import ThemeToggleProvider from '../../ThemeToggleProvider';
import AuthenticatedApp from '..';
window.matchMedia = jest.fn(() => false);
const strapiVersion = packageJSON.version;
jest.mock('@strapi/helper-plugin', () => ({
@ -43,13 +47,15 @@ const queryClient = new QueryClient({
});
const app = (
<Theme>
<QueryClientProvider client={queryClient}>
<ConfigurationsContext.Provider value={{ showReleaseNotification: false }}>
<AuthenticatedApp />
</ConfigurationsContext.Provider>
</QueryClientProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<QueryClientProvider client={queryClient}>
<ConfigurationsContext.Provider value={{ showReleaseNotification: false }}>
<AuthenticatedApp />
</ConfigurationsContext.Provider>
</QueryClientProvider>
</Theme>
</ThemeToggleProvider>
);
describe('Admin | components | AuthenticatedApp', () => {

View File

@ -2,9 +2,13 @@ import React from 'react';
import { render, screen } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { useGuidedTour } from '@strapi/helper-plugin';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../Theme';
import ThemeToggleProvider from '../../../ThemeToggleProvider';
import GuidedTourModal from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
...jest.requireActual('@strapi/helper-plugin'),
useGuidedTour: jest.fn(() => ({
@ -28,11 +32,13 @@ jest.mock('@strapi/helper-plugin', () => ({
}));
const App = (
<Theme>
<IntlProvider locale="en" messages={{}} defaultLocale="en" textComponent="span">
<GuidedTourModal />
</IntlProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<IntlProvider locale="en" messages={{}} defaultLocale="en" textComponent="span">
<GuidedTourModal />
</IntlProvider>
</Theme>
</ThemeToggleProvider>
);
describe('<GuidedTourModal />', () => {

View File

@ -9,9 +9,13 @@ import { render, fireEvent, screen } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { useNotification } from '@strapi/helper-plugin';
import { act } from 'react-dom/test-utils';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../Theme';
import ThemeToggleProvider from '../../ThemeToggleProvider';
import Notifications from '../index';
window.matchMedia = jest.fn(() => false);
const messages = {};
describe('<Notifications />', () => {
@ -19,13 +23,15 @@ describe('<Notifications />', () => {
const {
container: { firstChild },
} = render(
<Theme>
<IntlProvider locale="en" messages={messages} defaultLocale="en" textComponent="span">
<Notifications>
<div />
</Notifications>
</IntlProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<IntlProvider locale="en" messages={messages} defaultLocale="en" textComponent="span">
<Notifications>
<div />
</Notifications>
</IntlProvider>
</Theme>
</ThemeToggleProvider>
);
expect(firstChild).toMatchInlineSnapshot(`
@ -80,13 +86,15 @@ describe('<Notifications />', () => {
};
render(
<Theme>
<IntlProvider locale="en" defaultLocale="en" messages={messages} textComponent="span">
<Notifications>
<Button />
</Notifications>
</IntlProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<IntlProvider locale="en" defaultLocale="en" messages={messages} textComponent="span">
<Notifications>
<Button />
</Notifications>
</IntlProvider>
</Theme>
</ThemeToggleProvider>
);
// Click button
@ -121,13 +129,15 @@ describe('<Notifications />', () => {
};
render(
<Theme>
<IntlProvider locale="en" defaultLocale="en" messages={messages} textComponent="span">
<Notifications>
<Button />
</Notifications>
</IntlProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<IntlProvider locale="en" defaultLocale="en" messages={messages} textComponent="span">
<Notifications>
<Button />
</Notifications>
</IntlProvider>
</Theme>
</ThemeToggleProvider>
);
// Click button

View File

@ -8,11 +8,15 @@ import { DndProvider } from 'react-dnd';
import { HTML5Backend } from 'react-dnd-html5-backend';
import { render, screen } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../components/Theme';
import ThemeToggleProvider from '../../../../components/ThemeToggleProvider';
import { App as ContentManagerApp } from '..';
import cmReducers from '../../../../reducers';
import useModels from '../useModels';
window.matchMedia = jest.fn(() => false);
jest.mock('../useModels', () =>
jest.fn(() => {
return {};
@ -96,15 +100,17 @@ describe('Content manager | App | main', () => {
const { container } = render(
<IntlProvider messages={{}} defaultLocale="en" locale="en">
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);
@ -795,15 +801,17 @@ describe('Content manager | App | main', () => {
render(
<IntlProvider messages={{}} defaultLocale="en" locale="en">
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);
@ -839,15 +847,17 @@ describe('Content manager | App | main', () => {
render(
<IntlProvider messages={{}} defaultLocale="en" locale="en">
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);
@ -882,15 +892,17 @@ describe('Content manager | App | main', () => {
render(
<IntlProvider messages={{}} defaultLocale="en" locale="en">
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<DndProvider backend={HTML5Backend}>
<Provider store={store}>
<Router history={history}>
<ContentManagerApp />
</Router>
</Provider>
</DndProvider>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);

View File

@ -8,11 +8,15 @@ import React from 'react';
import { render } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { MemoryRouter } from 'react-router-dom';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../components/ThemeToggleProvider';
import { Header } from '../index';
import components from '../utils/tests/data/compos-schema.json';
import ct from '../utils/tests/data/ct-schema.json';
window.matchMedia = jest.fn(() => false);
const defaultProps = {
allowedActions: { canUpdate: true, canCreate: true, canPublish: true },
componentLayouts: components,
@ -31,9 +35,11 @@ const makeApp = (props = defaultProps) => {
return (
<MemoryRouter>
<IntlProvider locale="en" defaultLocale="en" messages={{}}>
<Theme>
<Header {...props} />
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Header {...props} />
</Theme>
</ThemeToggleProvider>
</IntlProvider>
</MemoryRouter>
);

View File

@ -8,9 +8,13 @@ import React from 'react';
import { render } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { useCMEditViewDataManager } from '@strapi/helper-plugin';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../components/ThemeToggleProvider';
import Informations from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
useCMEditViewDataManager: jest.fn(),
}));
@ -22,9 +26,11 @@ const makeApp = () => {
defaultLocale="en"
messages={{ 'containers.Edit.information': 'Information' }}
>
<Theme>
<Informations />
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Informations />
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);
};

View File

@ -3,9 +3,13 @@ import { render } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { Router } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../components/Theme';
import ThemeToggleProvider from '../../../../components/ThemeToggleProvider';
import NoContentType from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
useFocusWhenNavigate: jest.fn(),
}));
@ -17,9 +21,11 @@ describe('CONTENT MANAGER | pages | NoContentType', () => {
} = render(
<Router history={createMemoryHistory()}>
<IntlProvider messages={{}} defaultLocale="en" textComponent="span" locale="en">
<Theme>
<NoContentType />
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<NoContentType />
</Theme>
</ThemeToggleProvider>
</IntlProvider>
</Router>
);

View File

@ -7,9 +7,13 @@
import React from 'react';
import { render } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../components/Theme';
import ThemeToggleProvider from '../../../../components/ThemeToggleProvider';
import NoPermissions from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
...jest.requireActual('@strapi/helper-plugin'),
useFocusWhenNavigate: jest.fn(),
@ -21,9 +25,11 @@ describe('<NoPermissions />', () => {
container: { firstChild },
} = render(
<IntlProvider locale="en" messages={{}} defaultLocale="en" textComponent="span">
<Theme>
<NoPermissions />
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<NoPermissions />
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);

View File

@ -5,10 +5,14 @@ import { Router, Route } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import { useRBAC } from '@strapi/helper-plugin';
import { QueryClient, QueryClientProvider } from 'react-query';
import { lightTheme } from '@strapi/design-system';
import { axiosInstance } from '../../../../../../core/utils';
import Theme from '../../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../../components/ThemeToggleProvider';
import ListView from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
...jest.requireActual('@strapi/helper-plugin'),
useNotification: jest.fn(),
@ -49,13 +53,15 @@ const makeApp = history => {
return (
<QueryClientProvider client={client}>
<IntlProvider messages={{}} defaultLocale="en" textComponent="span" locale="en">
<Theme>
<Router history={history}>
<Route path="/settings/api-tokens">
<ListView />
</Route>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<Route path="/settings/api-tokens">
<ListView />
</Route>
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
</QueryClientProvider>
);

View File

@ -10,10 +10,14 @@ import { IntlProvider } from 'react-intl';
import { Router, Switch, Route } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import moment from 'moment';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../../components/ThemeToggleProvider';
import EditPage from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('moment', () => {
const mMoment = {
format: jest.fn().mockReturnThis(),
@ -37,15 +41,17 @@ const makeApp = history => (
locale="en"
defaultLocale="en"
>
<Theme>
<Router history={history}>
<Switch>
<Route path="/settings/roles/:id">
<EditPage />
</Route>
</Switch>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<Switch>
<Route path="/settings/roles/:id">
<EditPage />
</Route>
</Switch>
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);

View File

@ -10,11 +10,15 @@ import { createMemoryHistory } from 'history';
import { Router } from 'react-router-dom';
import { IntlProvider } from 'react-intl';
import { useRBAC } from '@strapi/helper-plugin';
import { lightTheme } from '@strapi/design-system';
import { useRolesList } from '../../../../../../hooks';
import Theme from '../../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../../components/ThemeToggleProvider';
import ListPage from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
...jest.requireActual('@strapi/helper-plugin'),
useNotification: jest.fn(),
@ -31,11 +35,13 @@ jest.mock('../../../../../../hooks', () => ({
const makeApp = history => (
<IntlProvider messages={{}} defaultLocale="en" textComponent="span" locale="en">
<Theme>
<Router history={history}>
<ListPage />
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<ListPage />
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);

View File

@ -3,19 +3,25 @@ import { render } from '@testing-library/react';
import { IntlProvider } from 'react-intl';
import { createMemoryHistory } from 'history';
import { Router, Route } from 'react-router-dom';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../../../components/ThemeToggleProvider';
import PaginationFooter from '../index';
window.matchMedia = jest.fn(() => false);
const makeApp = (history, pagination) => {
return (
<IntlProvider messages={{}} textComponent="span" locale="en" defaultLocale="en">
<Theme>
<Router history={history}>
<Route path="/settings/user">
<PaginationFooter pagination={pagination} />
</Route>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<Route path="/settings/user">
<PaginationFooter pagination={pagination} />
</Route>
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);
};

View File

@ -5,10 +5,14 @@ import { Router, Route } from 'react-router-dom';
import { QueryClient, QueryClientProvider } from 'react-query';
import { createMemoryHistory } from 'history';
import { useRBAC } from '@strapi/helper-plugin';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../../components/ThemeToggleProvider';
import ListPage from '../index';
import server from './utils/server';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
...jest.requireActual('@strapi/helper-plugin'),
useNotification: jest.fn(),
@ -30,13 +34,15 @@ const makeApp = history => {
return (
<QueryClientProvider client={client}>
<IntlProvider messages={{}} defaultLocale="en" textComponent="span" locale="en">
<Theme>
<Router history={history}>
<Route path="/settings/user">
<ListPage />
</Route>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<Route path="/settings/user">
<ListPage />
</Route>
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
</QueryClientProvider>
);

View File

@ -3,11 +3,15 @@ import userEvent from '@testing-library/user-event';
import React from 'react';
import { Router } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import { lightTheme } from '@strapi/design-system';
import en from '../../../../../../../../translations/en.json';
import Theme from '../../../../../../../../components/Theme';
import ThemeToggleProvider from '../../../../../../../../components/ThemeToggleProvider';
import LanguageProvider from '../../../../../../../../components/LanguageProvider';
import WebhookForm from '../index';
window.matchMedia = jest.fn(() => false);
const makeApp = component => {
const history = createMemoryHistory();
const messages = { en };
@ -15,9 +19,11 @@ const makeApp = component => {
return (
<LanguageProvider messages={messages} localeNames={localeNames}>
<Theme>
<Router history={history}>{component}</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>{component}</Router>
</Theme>
</ThemeToggleProvider>
</LanguageProvider>
);
};

View File

@ -4,10 +4,14 @@ import { StrapiAppProvider, AppInfosContext } from '@strapi/helper-plugin';
import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { createMemoryHistory } from 'history';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../components/Theme';
import ThemeToggleProvider from '../../../components/ThemeToggleProvider';
import { SettingsPage } from '..';
import { useSettingsMenu } from '../../../hooks';
window.matchMedia = jest.fn(() => false);
jest.mock('../../../hooks', () => ({
useSettingsMenu: jest.fn(() => ({ isLoading: false, menu: [] })),
useAppInfos: jest.fn(() => ({ shouldUpdateStrapi: false })),
@ -24,24 +28,26 @@ jest.mock('react-intl', () => ({
jest.mock('../pages/ApplicationInfosPage', () => () => <h1>App infos</h1>);
const makeApp = (history, settings) => (
<Theme>
<AppInfosContext.Provider value={{ shouldUpdateStrapi: false }}>
<StrapiAppProvider
settings={settings}
plugins={{}}
getPlugin={jest.fn()}
runHookParallel={jest.fn()}
runHookWaterfall={jest.fn()}
runHookSeries={jest.fn()}
menu={[]}
>
<Router history={history}>
<Route path="/settings/:settingId" component={SettingsPage} />
<Route path="/settings" component={SettingsPage} />
</Router>
</StrapiAppProvider>
</AppInfosContext.Provider>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<AppInfosContext.Provider value={{ shouldUpdateStrapi: false }}>
<StrapiAppProvider
settings={settings}
plugins={{}}
getPlugin={jest.fn()}
runHookParallel={jest.fn()}
runHookWaterfall={jest.fn()}
runHookSeries={jest.fn()}
menu={[]}
>
<Router history={history}>
<Route path="/settings/:settingId" component={SettingsPage} />
<Route path="/settings" component={SettingsPage} />
</Router>
</StrapiAppProvider>
</AppInfosContext.Provider>
</Theme>
</ThemeToggleProvider>
);
describe('ADMIN | pages | SettingsPage', () => {

View File

@ -10,10 +10,14 @@ import { IntlProvider } from 'react-intl';
import { Router, Switch, Route } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import moment from 'moment';
import { lightTheme } from '@strapi/design-system';
import Theme from '../../../../../../../../admin/src/components/Theme';
import ThemeToggleProvider from '../../../../../../../../admin/src/components/ThemeToggleProvider';
import { CreatePage } from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('moment', () => {
const mMoment = {
format: jest.fn().mockReturnThis(),
@ -37,18 +41,20 @@ const makeApp = history => (
locale="en"
defaultLocale="en"
>
<Theme>
<Router history={history}>
<Switch>
<Route path="/settings/roles/duplicate/:id">
<CreatePage />
</Route>
<Route path="/settings/roles/new">
<CreatePage />
</Route>
</Switch>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<Switch>
<Route path="/settings/roles/duplicate/:id">
<CreatePage />
</Route>
<Route path="/settings/roles/new">
<CreatePage />
</Route>
</Switch>
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);

View File

@ -10,11 +10,15 @@ import { createMemoryHistory } from 'history';
import { Router } from 'react-router-dom';
import { IntlProvider } from 'react-intl';
import { useRBAC } from '@strapi/helper-plugin';
import { lightTheme } from '@strapi/design-system';
import { useRolesList } from '../../../../../../../../admin/src/hooks';
import Theme from '../../../../../../../../admin/src/components/Theme';
import ThemeToggleProvider from '../../../../../../../../admin/src/components/ThemeToggleProvider';
import ListPage from '../index';
window.matchMedia = jest.fn(() => false);
jest.mock('@strapi/helper-plugin', () => ({
...jest.requireActual('@strapi/helper-plugin'),
useNotification: jest.fn(),
@ -31,11 +35,13 @@ jest.mock('../../../../../../../../admin/src/hooks', () => ({
const makeApp = history => (
<IntlProvider messages={{}} textComponent="span" locale="en">
<Theme>
<Router history={history}>
<ListPage />
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<ListPage />
</Router>
</Theme>
</ThemeToggleProvider>
</IntlProvider>
);

View File

@ -4,17 +4,20 @@
*
*/
import { Layout } from '@strapi/design-system';
import { Layout, lightTheme } from '@strapi/design-system';
import { render } from '@testing-library/react';
import { createMemoryHistory } from 'history';
import React from 'react';
import { Router } from 'react-router-dom';
import LanguageProvider from '../../../../../../admin/admin/src/components/LanguageProvider';
import Theme from '../../../../../../admin/admin/src/components/Theme';
import ThemeToggleProvider from '../../../../../../admin/admin/src/components/ThemeToggleProvider';
import en from '../../../../../../admin/admin/src/translations/en.json';
import ContentTypeBuilderNav from '../index';
import mockData from './mockData';
window.matchMedia = jest.fn(() => false);
jest.mock('../useContentTypeBuilderMenu.js', () => {
return jest.fn(() => ({
menu: mockData,
@ -30,13 +33,15 @@ const makeApp = () => {
return (
<LanguageProvider messages={messages} localeNames={localeNames}>
<Theme>
<Router history={history}>
<Layout sideNav={<ContentTypeBuilderNav />}>
<div />
</Layout>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<Layout sideNav={<ContentTypeBuilderNav />}>
<div />
</Layout>
</Router>
</Theme>
</ThemeToggleProvider>
</LanguageProvider>
);
};

View File

@ -8,8 +8,10 @@ import { render } from '@testing-library/react';
import { createMemoryHistory } from 'history';
import React from 'react';
import { Router } from 'react-router-dom';
import { lightTheme } from '@strapi/design-system';
import LanguageProvider from '../../../../../../admin/admin/src/components/LanguageProvider';
import Theme from '../../../../../../admin/admin/src/components/Theme';
import ThemeToggleProvider from '../../../../../../admin/admin/src/components/ThemeToggleProvider';
import en from '../../../../../../admin/admin/src/translations/en.json';
import FormModalNavigationProvider from '../../../components/FormModalNavigationProvider';
import pluginEn from '../../../translations/en.json';
@ -18,6 +20,8 @@ import getTrad from '../../../utils/getTrad';
import ListView from '../index';
import mockData from './mockData';
window.matchMedia = jest.fn(() => false);
jest.mock('../../../hooks/useDataManager', () => {
return jest.fn(() => ({
initialData: mockData,
@ -52,13 +56,15 @@ const makeApp = () => {
return (
<LanguageProvider messages={messages} localeNames={localeNames}>
<Theme>
<Router history={history}>
<FormModalNavigationProvider>
<ListView />
</FormModalNavigationProvider>
</Router>
</Theme>
<ThemeToggleProvider themes={{ light: lightTheme }}>
<Theme>
<Router history={history}>
<FormModalNavigationProvider>
<ListView />
</FormModalNavigationProvider>
</Router>
</Theme>
</ThemeToggleProvider>
</LanguageProvider>
);
};