Fix front unit test on main (#20233)
Jest mocks runs before the const is defined
This commit is contained in:
+7
-6
@@ -9,13 +9,14 @@ import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord';
|
||||
import { useRefetchAggregateQueries } from '@/object-record/hooks/useRefetchAggregateQueries';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
|
||||
const personId = 'a7286b9a-c039-4a89-9567-2dfa7953cda9';
|
||||
const input = { name: { firstName: 'John', lastName: 'Doe' } };
|
||||
const PERSON_ID = 'a7286b9a-c039-4a89-9567-2dfa7953cda9';
|
||||
|
||||
jest.mock('uuid', () => ({
|
||||
v4: jest.fn(() => personId),
|
||||
v4: jest.fn(() => 'a7286b9a-c039-4a89-9567-2dfa7953cda9'),
|
||||
}));
|
||||
|
||||
const input = { name: { firstName: 'John', lastName: 'Doe' } };
|
||||
|
||||
jest.mock('@/object-record/hooks/useRefetchAggregateQueries');
|
||||
const mockRefetchAggregateQueries = jest.fn();
|
||||
(useRefetchAggregateQueries as jest.Mock).mockReturnValue({
|
||||
@@ -26,11 +27,11 @@ const mocks = [
|
||||
{
|
||||
request: {
|
||||
query,
|
||||
variables: { input: { ...input, id: personId } },
|
||||
variables: { input: { ...input, id: PERSON_ID } },
|
||||
},
|
||||
result: jest.fn(() => ({
|
||||
data: {
|
||||
createPerson: { ...responseData, ...input, id: personId },
|
||||
createPerson: { ...responseData, ...input, id: PERSON_ID },
|
||||
},
|
||||
})),
|
||||
},
|
||||
@@ -58,7 +59,7 @@ describe('useCreateOneRecord', () => {
|
||||
await act(async () => {
|
||||
const res = await result.current.createOneRecord(input);
|
||||
expect(res).toBeDefined();
|
||||
expect(res).toHaveProperty('id', personId);
|
||||
expect(res).toHaveProperty('id', PERSON_ID);
|
||||
});
|
||||
|
||||
expect(mocks[0].result).toHaveBeenCalled();
|
||||
|
||||
+10
-12
@@ -1,15 +1,19 @@
|
||||
import { renderHook } from '@testing-library/react';
|
||||
import { act } from 'react';
|
||||
import gql from 'graphql-tag';
|
||||
|
||||
import { CoreObjectNameSingular } from 'twenty-shared/types';
|
||||
import { spreadsheetImportDialogState } from '@/spreadsheet-import/states/spreadsheetImportDialogState';
|
||||
|
||||
import { useOpenObjectRecordsSpreadsheetImportDialog } from '@/object-record/spreadsheet-import/hooks/useOpenObjectRecordsSpreadsheetImportDialog';
|
||||
import { jotaiStore } from '@/ui/utilities/state/jotai/jotaiStore';
|
||||
|
||||
import gql from 'graphql-tag';
|
||||
import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper';
|
||||
|
||||
const COMPANY_ID = 'cb2e9f4b-20c3-4759-9315-4ffeecfaf71a';
|
||||
|
||||
jest.mock('uuid', () => ({
|
||||
v4: jest.fn(() => 'cb2e9f4b-20c3-4759-9315-4ffeecfaf71a'),
|
||||
}));
|
||||
|
||||
const mockBatchCreateManyRecords = jest.fn().mockResolvedValue([]);
|
||||
|
||||
jest.mock('@/object-record/hooks/useBatchCreateManyRecords', () => ({
|
||||
@@ -18,17 +22,11 @@ jest.mock('@/object-record/hooks/useBatchCreateManyRecords', () => ({
|
||||
}),
|
||||
}));
|
||||
|
||||
const companyId = 'cb2e9f4b-20c3-4759-9315-4ffeecfaf71a';
|
||||
|
||||
jest.mock('uuid', () => ({
|
||||
v4: jest.fn(() => companyId),
|
||||
}));
|
||||
|
||||
const mockResult = jest.fn(() => ({
|
||||
data: {
|
||||
createCompanies: [
|
||||
{
|
||||
id: companyId,
|
||||
id: COMPANY_ID,
|
||||
name: 'Example Company',
|
||||
employees: 0,
|
||||
idealCustomerProfile: true,
|
||||
@@ -137,7 +135,7 @@ describe('useOpenObjectRecordsSpreadsheetImportDialog', () => {
|
||||
const submitData = {
|
||||
validStructuredRows: [
|
||||
{
|
||||
id: companyId,
|
||||
id: COMPANY_ID,
|
||||
name: 'Example Company',
|
||||
idealCustomerProfile: true,
|
||||
employees: '0',
|
||||
@@ -146,7 +144,7 @@ describe('useOpenObjectRecordsSpreadsheetImportDialog', () => {
|
||||
invalidStructuredRows: [],
|
||||
allStructuredRows: [
|
||||
{
|
||||
id: companyId,
|
||||
id: COMPANY_ID,
|
||||
name: 'Example Company',
|
||||
__index: 'cbc3985f-dde9-46d1-bae2-c124141700ac',
|
||||
idealCustomerProfile: true,
|
||||
|
||||
+24
-15
@@ -1,15 +1,24 @@
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import {
|
||||
type WorkflowStep,
|
||||
type WorkflowTrigger,
|
||||
} from '@/workflow/types/Workflow';
|
||||
import { StepStatus, type WorkflowRunStepInfos } from 'twenty-shared/workflow';
|
||||
import { FieldMetadataType } from 'twenty-shared/types';
|
||||
import { getUuidV4Mock } from '~/testing/utils/getUuidV4Mock';
|
||||
import { generateWorkflowRunDiagram } from '@/workflow/workflow-diagram/utils/generateWorkflowRunDiagram';
|
||||
|
||||
jest.mock('uuid', () => ({
|
||||
v4: getUuidV4Mock(),
|
||||
}));
|
||||
jest.mock('uuid');
|
||||
|
||||
beforeEach(() => {
|
||||
let counter = 0;
|
||||
(uuidv4 as jest.Mock).mockImplementation(
|
||||
() => `8f3b2121-f194-4ba4-9fbf-${counter++}`,
|
||||
);
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
jest.resetAllMocks();
|
||||
});
|
||||
|
||||
describe('generateWorkflowRunDiagram', () => {
|
||||
it('marks node as failed when the last attempt failed', () => {
|
||||
@@ -349,7 +358,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-3",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-0",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -367,7 +376,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-4",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-1",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -385,7 +394,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-5",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-2",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -585,7 +594,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-6",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-0",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -603,7 +612,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-7",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-1",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -621,7 +630,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-8",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-2",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -839,7 +848,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-9",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-0",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -857,7 +866,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-10",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-1",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -875,7 +884,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-11",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-2",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -893,7 +902,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-12",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-3",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
@@ -1081,7 +1090,7 @@ describe('generateWorkflowRunDiagram', () => {
|
||||
"edgeType": "default",
|
||||
},
|
||||
"deletable": false,
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-13",
|
||||
"id": "8f3b2121-f194-4ba4-9fbf-0",
|
||||
"markerEnd": "edge-branch-arrow-default",
|
||||
"markerStart": undefined,
|
||||
"selectable": false,
|
||||
|
||||
+13
-4
@@ -1,9 +1,18 @@
|
||||
import { getUuidV4Mock } from '~/testing/utils/getUuidV4Mock';
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { getWorkflowVersionDiagram } from '@/workflow/workflow-diagram/utils/getWorkflowVersionDiagram';
|
||||
|
||||
jest.mock('uuid', () => ({
|
||||
v4: getUuidV4Mock(),
|
||||
}));
|
||||
jest.mock('uuid');
|
||||
|
||||
beforeEach(() => {
|
||||
let counter = 0;
|
||||
(uuidv4 as jest.Mock).mockImplementation(
|
||||
() => `8f3b2121-f194-4ba4-9fbf-${counter++}`,
|
||||
);
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
jest.resetAllMocks();
|
||||
});
|
||||
|
||||
describe('getWorkflowVersionDiagram', () => {
|
||||
it('returns an empty diagram if the provided workflow version', () => {
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
const baseUuid = '8f3b2121-f194-4ba4-9fbf-';
|
||||
|
||||
export const getUuidV4Mock = () => {
|
||||
let id = 0;
|
||||
|
||||
return () => {
|
||||
return baseUuid + id++;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user