TWNTY-3968 - Fix and enhance storybook:pages tests (#4072)

* Fix and enhance storybook:pages tests

Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>

* Fix and enhance storybook:pages tests

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>

* Add minor refactors

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>

* Revert temporary changes

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>

* Fix tests

* Fix tests duplicated locale

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
gitstart-app[bot]
2024-02-24 15:06:51 +01:00
committed by GitHub
parent 3d809d5317
commit c434d1edb5
15 changed files with 605 additions and 246 deletions

View File

@ -0,0 +1,90 @@
import { Meta, StoryObj } from '@storybook/react';
import { within } from '@storybook/test';
import { graphql, HttpResponse } from 'msw';
import {
PageDecorator,
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { mockedPeopleData } from '~/testing/mock-data/people';
import { mockedWorkspaceMemberData } from '~/testing/mock-data/users';
import { RecordShowPage } from '../RecordShowPage';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/ObjectRecord/RecordShowPage',
component: RecordShowPage,
decorators: [PageDecorator],
args: {
routePath: '/object/:objectNameSingular/:objectRecordId',
routeParams: {
':objectNameSingular': 'person',
':objectRecordId': '1234',
},
},
parameters: {
msw: {
handlers: [
graphql.query('FindOneperson', () => {
return HttpResponse.json({
data: {
person: mockedPeopleData[0],
},
});
}),
graphql.query('FindManyActivityTargets', () => {
return HttpResponse.json({
data: {
activityTargets: {
edges: [],
pageInfo: {
hasNextPage: false,
startCursor: '',
endCursor: '',
},
totalCount: 0,
},
},
});
}),
graphql.query('FindOneworkspaceMember', () => {
return HttpResponse.json({
data: {
workspaceMember: mockedWorkspaceMemberData,
},
});
}),
graphql.query('FindManyViews', () => {
return HttpResponse.json({
data: {
views: {
edges: [],
pageInfo: {
hasNextPage: false,
startCursor: '1234',
endCursor: '1234',
},
totalCount: 0,
},
},
});
}),
graphqlMocks.handlers,
],
},
},
};
export default meta;
export type Story = StoryObj<typeof RecordShowPage>;
export const Default: Story = {
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
await canvas.findAllByText('Alexandre Prot');
await canvas.findByText('Add your first Activity');
},
};