Increase storybook pages coverage (#4885)

On FE:
- refreshing metadata mocks
- updating jest tests
- fixing storybook pages coverage
- fixing storybook modules coverage
This commit is contained in:
Charles Bochet
2024-04-17 16:24:04 +02:00
committed by GitHub
parent 6804a90f2f
commit 75fd430149
46 changed files with 13679 additions and 7354 deletions

View File

@ -1,14 +1,23 @@
import { HelmetProvider } from 'react-helmet-async';
import { getOperationName } from '@apollo/client/utilities';
import { Meta, StoryObj } from '@storybook/react';
import { graphql, HttpResponse } from 'msw';
import { IconsProvider } from 'twenty-ui';
import { ClientConfigProvider } from '@/client-config/components/ClientConfigProvider';
import { ClientConfigProviderEffect } from '@/client-config/components/ClientConfigProviderEffect';
import { ObjectMetadataItemsProvider } from '@/object-metadata/components/ObjectMetadataItemsProvider';
import { SnackBarProvider } from '@/ui/feedback/snack-bar-manager/components/SnackBarProvider';
import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope';
import { AppThemeProvider } from '@/ui/theme/components/AppThemeProvider';
import { UserProvider } from '@/users/components/UserProvider';
import { UserProviderEffect } from '@/users/components/UserProviderEffect';
import { GET_CURRENT_USER } from '@/users/graphql/queries/getCurrentUser';
import { App } from '~/App';
import { MemoryRouterDecorator } from '~/testing/decorators/MemoryRouterDecorator';
import { FullHeightStorybookLayout } from '~/testing/FullHeightStorybookLayout';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { mockedUsersData } from '~/testing/mock-data/users';
const meta: Meta<typeof App> = {
title: 'App/App',
@ -16,19 +25,33 @@ const meta: Meta<typeof App> = {
decorators: [
MemoryRouterDecorator,
(Story) => (
<ClientConfigProvider>
<UserProvider>
<FullHeightStorybookLayout>
<HelmetProvider>
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
<>
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
<ClientConfigProviderEffect />
<ClientConfigProvider>
<UserProviderEffect />
<UserProvider>
<FullHeightStorybookLayout>
<ObjectMetadataItemsProvider>
<Story />
<IconsProvider>
<HelmetProvider>
<SnackBarProvider>
<AppThemeProvider>
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
<ObjectMetadataItemsProvider>
<Story />
</ObjectMetadataItemsProvider>
</SnackBarProviderScope>
</AppThemeProvider>
</SnackBarProvider>
</HelmetProvider>
</IconsProvider>
</ObjectMetadataItemsProvider>
</SnackBarProviderScope>
</HelmetProvider>
</FullHeightStorybookLayout>
</UserProvider>
</ClientConfigProvider>
</FullHeightStorybookLayout>
</UserProvider>
</ClientConfigProvider>
</SnackBarProviderScope>
</>
),
],
parameters: {
@ -43,8 +66,25 @@ export const Default: Story = {};
export const DarkMode: Story = {
parameters: {
theming: {
themeOverride: 'dark',
msw: {
handlers: [
...graphqlMocks.handlers.filter((handler) => {
return (handler.info as any).operationName !== 'GetCurrentUser';
}),
graphql.query(getOperationName(GET_CURRENT_USER) ?? '', () => {
return HttpResponse.json({
data: {
currentUser: {
...mockedUsersData[0],
workspaceMember: {
...mockedUsersData[0].workspaceMember,
colorScheme: 'Dark',
},
},
},
});
}),
],
},
},
};