From cae37108cfd118bd1b92ea5308bf5fb23f88d694 Mon Sep 17 00:00:00 2001 From: nathan-pichon Date: Thu, 9 Feb 2023 15:19:45 +0100 Subject: [PATCH] test(review-workflows): checking workflow update parameters --- .../server/services/__tests__/stages.test.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/core/admin/ee/server/services/__tests__/stages.test.js b/packages/core/admin/ee/server/services/__tests__/stages.test.js index 439f6ba66b..7e519b082f 100644 --- a/packages/core/admin/ee/server/services/__tests__/stages.test.js +++ b/packages/core/admin/ee/server/services/__tests__/stages.test.js @@ -48,11 +48,13 @@ const workflowMock = { const entityServiceMock = { findOne: jest.fn(() => stageMock), findMany: jest.fn(() => [stageMock]), - create: jest.fn((uid, { data }) => data), + create: jest.fn((uid, { data }) => ({ + ...data, + id: Math.floor(Math.random() * 1000), + })), update: jest.fn((uid, id, { data }) => data), delete: jest.fn(() => true), }; - const servicesMock = { 'admin::workflows': { findById: jest.fn(() => workflowMock), @@ -112,6 +114,7 @@ describe('Review workflows - Stages service', () => { expect(entityServiceMock.create).toBeCalled(); expect(entityServiceMock.update).not.toBeCalled(); expect(entityServiceMock.delete).not.toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalled(); }); test('Should update a stage contained in the workflow', async () => { const updateStages = cloneDeep(workflowMock.stages); @@ -123,6 +126,10 @@ describe('Review workflows - Stages service', () => { expect(entityServiceMock.create).not.toBeCalled(); expect(entityServiceMock.update).toBeCalled(); expect(entityServiceMock.delete).not.toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalledWith(workflowMock.id, { + stages: updateStages.map((stage) => stage.id), + }); }); test('Should delete a stage contained in the workflow', async () => { await stagesService.replaceWorkflowStages(1, [workflowMock.stages[0]]); @@ -131,6 +138,10 @@ describe('Review workflows - Stages service', () => { expect(entityServiceMock.create).not.toBeCalled(); expect(entityServiceMock.update).not.toBeCalled(); expect(entityServiceMock.delete).toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalledWith(workflowMock.id, { + stages: [workflowMock.stages[0].id], + }); }); test('New stage + updated + deleted', async () => { await stagesService.replaceWorkflowStages(1, [ @@ -143,6 +154,10 @@ describe('Review workflows - Stages service', () => { expect(entityServiceMock.create).toBeCalled(); expect(entityServiceMock.update).toBeCalled(); expect(entityServiceMock.delete).toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalled(); + expect(servicesMock['admin::workflows'].update).toBeCalledWith(workflowMock.id, { + stages: [workflowMock.stages[0].id, workflowMock.stages[1].id, expect.any(Number)], + }); }); }); });