From b50633242092e71757c2985b16096d386a1b4a16 Mon Sep 17 00:00:00 2001 From: Lucas Bordeau Date: Wed, 11 Sep 2024 12:15:12 +0200 Subject: [PATCH] Fixed CI (#6982) Fixed CI : - Unit test for useTimelineActivities - Story for field creation with new 2-step process --- .../__tests__/useTimelineActivities.test.tsx | 24 ++++++++++++++++--- .../SettingsObjectNewFieldStep2.stories.tsx | 13 ++++++++-- .../src/testing/jest/getJestHookWrapper.tsx | 7 ++++-- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/packages/twenty-front/src/modules/activities/timelineActivities/hooks/__tests__/useTimelineActivities.test.tsx b/packages/twenty-front/src/modules/activities/timelineActivities/hooks/__tests__/useTimelineActivities.test.tsx index e7d0da054672..894d541c888b 100644 --- a/packages/twenty-front/src/modules/activities/timelineActivities/hooks/__tests__/useTimelineActivities.test.tsx +++ b/packages/twenty-front/src/modules/activities/timelineActivities/hooks/__tests__/useTimelineActivities.test.tsx @@ -2,14 +2,18 @@ import { renderHook } from '@testing-library/react'; import { useTimelineActivities } from '@/activities/timelineActivities/hooks/useTimelineActivities'; import { ReactNode } from 'react'; -import { RecoilRoot } from 'recoil'; +import { getJestHookWrapper } from '~/testing/jest/getJestHookWrapper'; jest.mock('@/object-record/hooks/useFindManyRecords', () => ({ useFindManyRecords: jest.fn(), })); +const Wrappers = getJestHookWrapper({ + apolloMocks: [], +}); + const Wrapper = ({ children }: { children: ReactNode }) => ( - {children} + {children} ); describe('useTimelineActivities', () => { @@ -46,6 +50,7 @@ describe('useTimelineActivities', () => { updatedAt: '2024-03-22T08:28:44.830Z', }, ]; + const mockTargetableObject = { id: '1', targetObjectNameSingular: 'Opportunity', @@ -54,15 +59,28 @@ describe('useTimelineActivities', () => { const useFindManyRecordsMock = jest.requireMock( '@/object-record/hooks/useFindManyRecords', ); + useFindManyRecordsMock.useFindManyRecords.mockReturnValue({ records: mockedTimelineActivities, }); const { result } = renderHook( - () => useTimelineActivities(mockTargetableObject), + () => { + return useTimelineActivities(mockTargetableObject); + }, { wrapper: Wrapper }, ); + const wrongMockedTimelineActivities = [ + { + ...mockedTimelineActivities[0], + name: 'wrong.updated.company', + }, + ]; + expect(result.current.timelineActivities).toEqual(mockedTimelineActivities); + expect(result.current.timelineActivities).not.toEqual( + wrongMockedTimelineActivities, + ); }); }); diff --git a/packages/twenty-front/src/pages/settings/data-model/__stories__/SettingsObjectNewField/SettingsObjectNewFieldStep2.stories.tsx b/packages/twenty-front/src/pages/settings/data-model/__stories__/SettingsObjectNewField/SettingsObjectNewFieldStep2.stories.tsx index 2cdd7b682ee6..ccd81beaf145 100644 --- a/packages/twenty-front/src/pages/settings/data-model/__stories__/SettingsObjectNewField/SettingsObjectNewFieldStep2.stories.tsx +++ b/packages/twenty-front/src/pages/settings/data-model/__stories__/SettingsObjectNewField/SettingsObjectNewFieldStep2.stories.tsx @@ -31,7 +31,17 @@ export const Default: Story = { play: async ({ canvasElement }) => { const canvas = within(canvasElement); await canvas.findByText('Objects'); - await canvas.findByText('Name and description'); + await canvas.findByText('1. Select a field type'); + + const searchInput = await canvas.findByPlaceholderText('Search a type'); + + await userEvent.type(searchInput, 'Num'); + + const numberTypeButton = await canvas.findByText('Number'); + + await userEvent.click(numberTypeButton); + + await canvas.findByText('2. Configure field'); const employeeInput = await canvas.findByPlaceholderText('Employees'); await userEvent.type(employeeInput, 'Test'); @@ -41,7 +51,6 @@ export const Default: Story = { ); await userEvent.type(descriptionInput, 'Test description'); - await canvas.findByText('Type and values'); const saveButton = await canvas.findByText('Save'); diff --git a/packages/twenty-front/src/testing/jest/getJestHookWrapper.tsx b/packages/twenty-front/src/testing/jest/getJestHookWrapper.tsx index d16f71bebb5d..3c8f21553323 100644 --- a/packages/twenty-front/src/testing/jest/getJestHookWrapper.tsx +++ b/packages/twenty-front/src/testing/jest/getJestHookWrapper.tsx @@ -1,8 +1,9 @@ -import { ReactNode } from 'react'; import { MockedProvider, MockedResponse } from '@apollo/client/testing'; +import { ReactNode } from 'react'; import { MutableSnapshot, RecoilRoot } from 'recoil'; import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; +import { JestObjectMetadataItemSetter } from '~/testing/jest/JestObjectMetadataItemSetter'; export const getJestHookWrapper = ({ apolloMocks, @@ -17,7 +18,9 @@ export const getJestHookWrapper = ({ - {children} + + {children} +