Add tests and raise coverage on pages (#2180)

* Add tests and raise coverage on pages

* Fix lint
This commit is contained in:
Charles Bochet
2023-10-21 20:09:08 +02:00
committed by GitHub
parent f1670f0cf4
commit 1954ed5e3a
11 changed files with 101 additions and 14 deletions

View File

@@ -17,9 +17,9 @@ const modulesCoverage = {
};
const pagesCoverage = {
"statements": 50,
"lines": 50,
"functions": 50,
"statements": 60,
"lines": 60,
"functions": 55,
"exclude": [
"src/generated/**/*",
"src/modules/**/*",

View File

@@ -0,0 +1,34 @@
import { Meta, StoryObj } from '@storybook/react';
import { AppPath } from '@/types/AppPath';
import {
PageDecorator,
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { sleep } from '~/testing/sleep';
import { ImpersonateEffect } from '../ImpersonateEffect';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Impersonate/Impersonate',
component: ImpersonateEffect,
decorators: [PageDecorator],
args: {
routePath: AppPath.Impersonate,
routeParams: { ':userId': '1' },
},
parameters: {
msw: graphqlMocks,
},
};
export default meta;
export type Story = StoryObj<typeof ImpersonateEffect>;
export const Default: Story = {
play: async ({}) => {
await sleep(100);
},
};

View File

@@ -0,0 +1,25 @@
import { Meta, StoryObj } from '@storybook/react';
import {
PageDecorator,
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { SettingsApis } from '../SettingsApis';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsApi',
component: SettingsApis,
decorators: [PageDecorator],
args: { routePath: '/settings/apis' },
parameters: {
msw: graphqlMocks,
},
};
export default meta;
export type Story = StoryObj<typeof SettingsApis>;
export const Default: Story = {};

View File

@@ -9,7 +9,7 @@ import { graphqlMocks } from '~/testing/graphqlMocks';
import { SettingsNewObject } from '../SettingsNewObject';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsNewObject',
title: 'Pages/Settings/DataModel/SettingsNewObject',
component: SettingsNewObject,
decorators: [PageDecorator],
args: {

View File

@@ -5,11 +5,12 @@ import {
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { sleep } from '~/testing/sleep';
import { SettingsObjectDetail } from '../SettingsObjectDetail';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsObjectDetail',
title: 'Pages/Settings/DataModel/SettingsObjectDetail',
component: SettingsObjectDetail,
decorators: [PageDecorator],
args: {
@@ -25,4 +26,8 @@ export default meta;
export type Story = StoryObj<typeof SettingsObjectDetail>;
export const Default: Story = {};
export const Default: Story = {
play: async ({}) => {
await sleep(100);
},
};

View File

@@ -5,11 +5,12 @@ import {
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { sleep } from '~/testing/sleep';
import { SettingsObjectEdit } from '../SettingsObjectEdit';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsObjectEdit',
title: 'Pages/Settings/DataModel/SettingsObjectEdit',
component: SettingsObjectEdit,
decorators: [PageDecorator],
args: {
@@ -25,4 +26,8 @@ export default meta;
export type Story = StoryObj<typeof SettingsObjectEdit>;
export const Default: Story = {};
export const Default: Story = {
play: async ({}) => {
await sleep(100);
},
};

View File

@@ -5,11 +5,13 @@ import {
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { sleep } from '~/testing/sleep';
import { SettingsObjectNewFieldStep1 } from '../../SettingsObjectNewField/SettingsObjectNewFieldStep1';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsObjectNewField/SettingsObjectNewFieldStep1',
title:
'Pages/Settings/DataModel/SettingsObjectNewField/SettingsObjectNewFieldStep1',
component: SettingsObjectNewFieldStep1,
decorators: [PageDecorator],
args: {
@@ -25,4 +27,8 @@ export default meta;
export type Story = StoryObj<typeof SettingsObjectNewFieldStep1>;
export const Default: Story = {};
export const Default: Story = {
play: async ({}) => {
await sleep(100);
},
};

View File

@@ -5,11 +5,13 @@ import {
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { sleep } from '~/testing/sleep';
import { SettingsObjectNewFieldStep2 } from '../../SettingsObjectNewField/SettingsObjectNewFieldStep2';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsObjectNewField/SettingsObjectNewFieldStep2',
title:
'Pages/Settings/DataModel/SettingsObjectNewField/SettingsObjectNewFieldStep2',
component: SettingsObjectNewFieldStep2,
decorators: [PageDecorator],
args: {
@@ -25,4 +27,8 @@ export default meta;
export type Story = StoryObj<typeof SettingsObjectNewFieldStep2>;
export const Default: Story = {};
export const Default: Story = {
play: async ({}) => {
await sleep(100);
},
};

View File

@@ -11,7 +11,7 @@ import { sleep } from '~/testing/sleep';
import { SettingsObjects } from '../SettingsObjects';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/SettingsObjects',
title: 'Pages/Settings/DataModel/SettingsObjects',
component: SettingsObjects,
decorators: [PageDecorator],
args: { routePath: '/settings/objects' },

View File

@@ -6,6 +6,7 @@ import {
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { sleep } from '~/testing/sleep';
import { Tasks } from '../Tasks';
@@ -23,4 +24,8 @@ export default meta;
export type Story = StoryObj<typeof Tasks>;
export const Default: Story = {};
export const Default: Story = {
play: async ({}) => {
await sleep(100);
},
};

View File

@@ -216,6 +216,7 @@ export const graphqlMocks = [
return res(
ctx.data({
clientConfig: {
flexibleBackendEnabled: true,
signInPrefilled: true,
dataModelSettingsEnabled: true,
developersSettingsEnabled: true,