Fixed CI (#6982)
Fixed CI : - Unit test for useTimelineActivities - Story for field creation with new 2-step process
This commit is contained in:
@ -2,14 +2,18 @@ import { renderHook } from '@testing-library/react';
|
|||||||
|
|
||||||
import { useTimelineActivities } from '@/activities/timelineActivities/hooks/useTimelineActivities';
|
import { useTimelineActivities } from '@/activities/timelineActivities/hooks/useTimelineActivities';
|
||||||
import { ReactNode } from 'react';
|
import { ReactNode } from 'react';
|
||||||
import { RecoilRoot } from 'recoil';
|
import { getJestHookWrapper } from '~/testing/jest/getJestHookWrapper';
|
||||||
|
|
||||||
jest.mock('@/object-record/hooks/useFindManyRecords', () => ({
|
jest.mock('@/object-record/hooks/useFindManyRecords', () => ({
|
||||||
useFindManyRecords: jest.fn(),
|
useFindManyRecords: jest.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
const Wrappers = getJestHookWrapper({
|
||||||
|
apolloMocks: [],
|
||||||
|
});
|
||||||
|
|
||||||
const Wrapper = ({ children }: { children: ReactNode }) => (
|
const Wrapper = ({ children }: { children: ReactNode }) => (
|
||||||
<RecoilRoot>{children}</RecoilRoot>
|
<Wrappers>{children}</Wrappers>
|
||||||
);
|
);
|
||||||
|
|
||||||
describe('useTimelineActivities', () => {
|
describe('useTimelineActivities', () => {
|
||||||
@ -46,6 +50,7 @@ describe('useTimelineActivities', () => {
|
|||||||
updatedAt: '2024-03-22T08:28:44.830Z',
|
updatedAt: '2024-03-22T08:28:44.830Z',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const mockTargetableObject = {
|
const mockTargetableObject = {
|
||||||
id: '1',
|
id: '1',
|
||||||
targetObjectNameSingular: 'Opportunity',
|
targetObjectNameSingular: 'Opportunity',
|
||||||
@ -54,15 +59,28 @@ describe('useTimelineActivities', () => {
|
|||||||
const useFindManyRecordsMock = jest.requireMock(
|
const useFindManyRecordsMock = jest.requireMock(
|
||||||
'@/object-record/hooks/useFindManyRecords',
|
'@/object-record/hooks/useFindManyRecords',
|
||||||
);
|
);
|
||||||
|
|
||||||
useFindManyRecordsMock.useFindManyRecords.mockReturnValue({
|
useFindManyRecordsMock.useFindManyRecords.mockReturnValue({
|
||||||
records: mockedTimelineActivities,
|
records: mockedTimelineActivities,
|
||||||
});
|
});
|
||||||
|
|
||||||
const { result } = renderHook(
|
const { result } = renderHook(
|
||||||
() => useTimelineActivities(mockTargetableObject),
|
() => {
|
||||||
|
return useTimelineActivities(mockTargetableObject);
|
||||||
|
},
|
||||||
{ wrapper: Wrapper },
|
{ wrapper: Wrapper },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const wrongMockedTimelineActivities = [
|
||||||
|
{
|
||||||
|
...mockedTimelineActivities[0],
|
||||||
|
name: 'wrong.updated.company',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
expect(result.current.timelineActivities).toEqual(mockedTimelineActivities);
|
expect(result.current.timelineActivities).toEqual(mockedTimelineActivities);
|
||||||
|
expect(result.current.timelineActivities).not.toEqual(
|
||||||
|
wrongMockedTimelineActivities,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -31,7 +31,17 @@ export const Default: Story = {
|
|||||||
play: async ({ canvasElement }) => {
|
play: async ({ canvasElement }) => {
|
||||||
const canvas = within(canvasElement);
|
const canvas = within(canvasElement);
|
||||||
await canvas.findByText('Objects');
|
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');
|
const employeeInput = await canvas.findByPlaceholderText('Employees');
|
||||||
await userEvent.type(employeeInput, 'Test');
|
await userEvent.type(employeeInput, 'Test');
|
||||||
@ -41,7 +51,6 @@ export const Default: Story = {
|
|||||||
);
|
);
|
||||||
|
|
||||||
await userEvent.type(descriptionInput, 'Test description');
|
await userEvent.type(descriptionInput, 'Test description');
|
||||||
await canvas.findByText('Type and values');
|
|
||||||
|
|
||||||
const saveButton = await canvas.findByText('Save');
|
const saveButton = await canvas.findByText('Save');
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
import { ReactNode } from 'react';
|
|
||||||
import { MockedProvider, MockedResponse } from '@apollo/client/testing';
|
import { MockedProvider, MockedResponse } from '@apollo/client/testing';
|
||||||
|
import { ReactNode } from 'react';
|
||||||
import { MutableSnapshot, RecoilRoot } from 'recoil';
|
import { MutableSnapshot, RecoilRoot } from 'recoil';
|
||||||
|
|
||||||
import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope';
|
import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope';
|
||||||
|
import { JestObjectMetadataItemSetter } from '~/testing/jest/JestObjectMetadataItemSetter';
|
||||||
|
|
||||||
export const getJestHookWrapper = ({
|
export const getJestHookWrapper = ({
|
||||||
apolloMocks,
|
apolloMocks,
|
||||||
@ -17,7 +18,9 @@ export const getJestHookWrapper = ({
|
|||||||
<RecoilRoot initializeState={onInitializeRecoilSnapshot}>
|
<RecoilRoot initializeState={onInitializeRecoilSnapshot}>
|
||||||
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
|
<SnackBarProviderScope snackBarManagerScopeId="snack-bar-manager">
|
||||||
<MockedProvider mocks={apolloMocks} addTypename={false}>
|
<MockedProvider mocks={apolloMocks} addTypename={false}>
|
||||||
{children}
|
<JestObjectMetadataItemSetter>
|
||||||
|
{children}
|
||||||
|
</JestObjectMetadataItemSetter>
|
||||||
</MockedProvider>
|
</MockedProvider>
|
||||||
</SnackBarProviderScope>
|
</SnackBarProviderScope>
|
||||||
</RecoilRoot>
|
</RecoilRoot>
|
||||||
|
|||||||
Reference in New Issue
Block a user