test: add metadata object and field mocks (#2266)

This commit is contained in:
Thaïs
2023-10-30 17:56:56 +01:00
committed by GitHub
parent 236742e88c
commit 328c5cd184
7 changed files with 262 additions and 5 deletions

View File

@ -1,4 +1,5 @@
import { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/testing-library';
import {
PageDecorator,
@ -25,8 +26,20 @@ export default meta;
export type Story = StoryObj<typeof SettingsNewObject>;
export const Default: Story = {
export const WithStandardSelected: Story = {
play: async ({}) => {
await sleep(100);
},
};
export const WithCustomSelected: Story = {
play: async ({ canvasElement }) => {
const canvas = within(canvasElement);
await sleep(1000);
const customButtonElement = canvas.getByText('Custom');
await userEvent.click(customButtonElement);
},
};

View File

@ -26,8 +26,14 @@ export default meta;
export type Story = StoryObj<typeof SettingsObjectDetail>;
export const Default: Story = {
export const StandardObject: Story = {
play: async ({}) => {
await sleep(100);
},
};
export const CustomObject: Story = {
args: {
routeParams: { ':objectSlug': 'workspaces' },
},
};

View File

@ -26,8 +26,14 @@ export default meta;
export type Story = StoryObj<typeof SettingsObjectEdit>;
export const Default: Story = {
export const StandardObject: Story = {
play: async ({}) => {
await sleep(100);
},
};
export const CustomObject: Story = {
args: {
routeParams: { ':objectSlug': 'workspaces' },
},
};

View File

@ -0,0 +1,37 @@
import { Meta, StoryObj } from '@storybook/react';
import {
PageDecorator,
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { SettingsObjectFieldEdit } from '../SettingsObjectFieldEdit';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/Settings/DataModel/SettingsObjectFieldEdit',
component: SettingsObjectFieldEdit,
decorators: [PageDecorator],
args: {
routePath: '/settings/objects/:objectSlug/:fieldSlug',
routeParams: { ':objectSlug': 'companies', ':fieldSlug': 'name' },
},
parameters: {
msw: graphqlMocks,
},
};
export default meta;
export type Story = StoryObj<typeof SettingsObjectFieldEdit>;
export const StandardField: Story = {};
export const CustomField: Story = {
args: {
routeParams: {
':objectSlug': 'companies',
':fieldSlug': 'employees',
},
},
};