fix: fix storybook pages tests coverage (#5319)

This commit is contained in:
Thaïs
2024-05-07 21:05:45 +02:00
committed by GitHub
parent ce4e78aa85
commit b7a2e72c32
10 changed files with 129 additions and 47 deletions

View File

@ -51,7 +51,11 @@ export const SettingsObjectFieldActiveActionDropdown = ({
<Dropdown
dropdownId={dropdownId}
clickableComponent={
<LightIconButton Icon={IconDotsVertical} accent="tertiary" />
<LightIconButton
aria-label="Active Field Options"
Icon={IconDotsVertical}
accent="tertiary"
/>
}
dropdownComponents={
<DropdownMenu width="160px">

View File

@ -67,7 +67,11 @@ export const SettingsObjectSummaryCard = ({
<Dropdown
dropdownId={dropdownId}
clickableComponent={
<LightIconButton Icon={IconDotsVertical} accent="tertiary" />
<LightIconButton
aria-label="Object Options"
Icon={IconDotsVertical}
accent="tertiary"
/>
}
dropdownComponents={
<DropdownMenu width="160px">

View File

@ -3,6 +3,7 @@ import styled from '@emotion/styled';
import { v4 } from 'uuid';
import { RecordIndexContainer } from '@/object-record/record-index/components/RecordIndexContainer';
import { RecordIndexPageHeader } from '@/object-record/record-index/components/RecordIndexPageHeader';
import { useRecordTable } from '@/object-record/record-table/hooks/useRecordTable';
import { DEFAULT_CELL_SCOPE } from '@/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCell';
import { useSelectedTableCellEditMode } from '@/object-record/record-table/record-table-cell/hooks/useSelectedTableCellEditMode';
@ -10,7 +11,6 @@ import { PageBody } from '@/ui/layout/page/PageBody';
import { PageContainer } from '@/ui/layout/page/PageContainer';
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
import { PageTitle } from '@/ui/utilities/page-title/PageTitle';
import { RecordIndexPageHeader } from '~/pages/object-record/RecordIndexPageHeader';
import { capitalize } from '~/utils/string/capitalize';
const StyledIndexContainer = styled.div`

View File

@ -0,0 +1,30 @@
import { Meta, StoryObj } from '@storybook/react';
import {
PageDecorator,
PageDecoratorArgs,
} from '~/testing/decorators/PageDecorator';
import { graphqlMocks } from '~/testing/graphqlMocks';
import { RecordIndexPage } from '../RecordIndexPage';
const meta: Meta<PageDecoratorArgs> = {
title: 'Pages/ObjectRecord/RecordIndexPage',
component: RecordIndexPage,
decorators: [PageDecorator],
args: {
routePath: '/objects/:objectNamePlural',
routeParams: {
':objectNamePlural': 'companies',
},
},
parameters: {
msw: graphqlMocks,
},
};
export default meta;
export type Story = StoryObj<typeof RecordIndexPage>;
export const Default: Story = {};

View File

@ -1,4 +1,5 @@
import { Meta, StoryObj } from '@storybook/react';
import { userEvent, within } from '@storybook/test';
import {
PageDecorator,
@ -37,3 +38,38 @@ export const CustomObject: Story = {
routeParams: { ':objectSlug': 'workspaces' },
},
};
export const ObjectDropdownMenu: Story = {
play: async ({ canvasElement }) => {
await sleep(100);
const canvas = within(canvasElement);
const objectSummaryVerticalDotsIconButton = await canvas.findByRole(
'button',
{
name: 'Object Options',
},
);
await userEvent.click(objectSummaryVerticalDotsIconButton);
await canvas.findByText('Edit');
await canvas.findByText('Deactivate');
},
};
export const FieldDropdownMenu: Story = {
play: async ({ canvasElement }) => {
await sleep(100);
const canvas = within(canvasElement);
const [fieldVerticalDotsIconButton] = await canvas.findAllByRole('button', {
name: 'Active Field Options',
});
await userEvent.click(fieldVerticalDotsIconButton);
await canvas.findByText('View');
await canvas.findByText('Deactivate');
},
};