From e78576d03fe94bce0741127aea32dc431df68416 Mon Sep 17 00:00:00 2001 From: Jamie Howard Date: Tue, 18 Apr 2023 09:26:13 +0100 Subject: [PATCH 1/2] fix(ee): api test --- .../admin/ee/review-workflows.test.api.js | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/api-tests/core/admin/ee/review-workflows.test.api.js b/api-tests/core/admin/ee/review-workflows.test.api.js index 7aed1d803b..574a7ff779 100644 --- a/api-tests/core/admin/ee/review-workflows.test.api.js +++ b/api-tests/core/admin/ee/review-workflows.test.api.js @@ -1,5 +1,7 @@ 'use strict'; +const { mapAsync } = require('@strapi/utils'); + const { createStrapiInstance } = require('api-tests/strapi'); const { createAuthRequest, createRequest } = require('api-tests/request'); const { createTestBuilder } = require('api-tests/builder'); @@ -489,22 +491,21 @@ describeOnCondition(edition === 'EE')('Review workflows', () => { const res = await requests.admin.get(`/admin/review-workflows/workflows/1/stages`); const defaultStages = res.body.data; - // Get all products and move ~30% of them to the last stage of the workflow - const entriesMovedToEnd = []; const productsBefore = await findAll(productUID); - productsBefore.results.forEach(async (entry) => { - if (Math.random() < 0.3) { - await requests.admin.put( - `/admin/content-manager/collection-types/${productUID}/${entry.id}/stage`, - { - body: { - data: { id: defaultStages.slice(-1)[0].id }, - }, - } - ); - entriesMovedToEnd.push(entry.id); - } - }); + const entriesMovedToEnd = productsBefore.results + .filter((entry) => entry.id % 2 === 0) + .map((entry) => entry.id); + + await mapAsync(entriesMovedToEnd, async (entityId) => + requests.admin.put( + `/admin/content-manager/collection-types/${productUID}/${entityId}/stage`, + { + body: { + data: { id: defaultStages.slice(-1)[0].id }, + }, + } + ) + ); // Delete the first and last stage stage of the default workflow await requests.admin.put(`/admin/review-workflows/workflows/1/stages`, { @@ -513,7 +514,7 @@ describeOnCondition(edition === 'EE')('Review workflows', () => { // Expect the content in these stages to be moved to the nearest available stage const productsAfter = await findAll(productUID); - productsAfter.results.forEach(async (entry) => { + await mapAsync(productsAfter.results, async (entry) => { if (entriesMovedToEnd.includes(entry.id)) { expect(await entry[ENTITY_STAGE_ATTRIBUTE].name).toEqual(defaultStages[2].name); return; From 5bc6d04af791e66f5f005b94ff9131c306c00884 Mon Sep 17 00:00:00 2001 From: Jamie Howard Date: Tue, 18 Apr 2023 15:56:29 +0100 Subject: [PATCH 2/2] fix(ee): stages test --- packages/core/admin/ee/server/services/__tests__/stages.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c17d52cd04..e888e82a07 100644 --- a/packages/core/admin/ee/server/services/__tests__/stages.test.js +++ b/packages/core/admin/ee/server/services/__tests__/stages.test.js @@ -53,7 +53,7 @@ const workflowMock = { }; const entityServiceMock = { - findOne: jest.fn((uid, id) => workflowMock.stages.find((stage) => stage.id === id)), + findOne: jest.fn((uid, id) => workflowMock.stages.find((stage) => stage.id === id) || { id }), findMany: jest.fn(() => [stageMock]), create: jest.fn((uid, { data }) => ({ ...data,