From 4606c8a01e34c28456fb1c8f662aecdf3c1516bf Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Mon, 24 Apr 2023 14:06:02 +0200 Subject: [PATCH 1/8] fix wrapParams ignoring lower services --- .../plugins/i18n/server/services/entity-service-decorator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugins/i18n/server/services/entity-service-decorator.js b/packages/plugins/i18n/server/services/entity-service-decorator.js index 256e81f55f..dee836a49b 100644 --- a/packages/plugins/i18n/server/services/entity-service-decorator.js +++ b/packages/plugins/i18n/server/services/entity-service-decorator.js @@ -96,7 +96,7 @@ const decorator = (service) => ({ return wrappedParams; } - return wrapParams(params, ctx); + return wrapParams(wrappedParams, ctx); }, /** From ec2328d11e59957bfe7bb6d63e2635b41329254a Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Tue, 25 Apr 2023 13:06:30 +0200 Subject: [PATCH 2/8] init wrapParams output test --- .../__tests__/entity-service-decorator.test.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index 1a2fa3f016..e14795c5a3 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -7,7 +7,7 @@ jest.mock('../localizations', () => { }); }); -const { decorator } = require('../entity-service-decorator')(); +const { decorator, wrapParams } = require('../entity-service-decorator')(); const localizations = require('../localizations')(); const locales = require('../locales')(); const contentTypes = require('../content-types')(); @@ -45,6 +45,8 @@ const models = { 'localized-single-type-model': singleTypeModel, }; +const testModels = [['test-model'], ['non-localized-model'], ['localized-single-type-model']]; + describe('Entity service decorator', () => { beforeAll(() => { global.strapi = { @@ -136,6 +138,16 @@ describe('Entity service decorator', () => { ['delete', { filters: [{ id: { $in: [1] } }] }], ]; + test.each(testModels)('Always uses original wrapParams in output - %s', async (modelName) => { + const defaultService = { + wrapParams: jest.fn(() => Promise.resolve('Test')), + }; + const service = decorator(defaultService); + + const output = await service.wrapParams({}, { uid: modelName, action: 'findMany' }); + + expect(output).toEqual('Test'); + }); test.each(testData)( "Doesn't add locale param when the params contain id or id_in - %s", async (action, params) => { From 6ce1665271ee3c716925c223c64701a598db6042 Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Tue, 25 Apr 2023 13:25:58 +0200 Subject: [PATCH 3/8] removed function --- .../server/services/__tests__/entity-service-decorator.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index e14795c5a3..cd2e7143e4 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -7,7 +7,7 @@ jest.mock('../localizations', () => { }); }); -const { decorator, wrapParams } = require('../entity-service-decorator')(); +const { decorator } = require('../entity-service-decorator')(); const localizations = require('../localizations')(); const locales = require('../locales')(); const contentTypes = require('../content-types')(); From 20cf36269b43233bf957de7b693944be55ac8d15 Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Tue, 25 Apr 2023 13:51:19 +0200 Subject: [PATCH 4/8] fix output test --- .../services/__tests__/entity-service-decorator.test.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index cd2e7143e4..f65e58858c 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -140,13 +140,16 @@ describe('Entity service decorator', () => { test.each(testModels)('Always uses original wrapParams in output - %s', async (modelName) => { const defaultService = { - wrapParams: jest.fn(() => Promise.resolve('Test')), + wrapParams: jest.fn(() => Promise.resolve({ Test: 'Test' })), }; const service = decorator(defaultService); const output = await service.wrapParams({}, { uid: modelName, action: 'findMany' }); - expect(output).toEqual('Test'); + expect(output).toEqual({ + Test: 'Test', + filters: { $and: [{ locale: 'en' }] }, + }); }); test.each(testData)( "Doesn't add locale param when the params contain id or id_in - %s", From 78c5c76b8e2dbf787c4027dfe7cddceb77514325 Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Tue, 25 Apr 2023 14:08:03 +0200 Subject: [PATCH 5/8] hopfully fixed test --- .../server/services/__tests__/entity-service-decorator.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index f65e58858c..185b4f1f61 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -148,7 +148,6 @@ describe('Entity service decorator', () => { expect(output).toEqual({ Test: 'Test', - filters: { $and: [{ locale: 'en' }] }, }); }); test.each(testData)( From 0fb0bad21993f97746b1605bb9266e2abcbeb359 Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Tue, 25 Apr 2023 14:24:46 +0200 Subject: [PATCH 6/8] fix? --- .../server/services/__tests__/entity-service-decorator.test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index 185b4f1f61..f65e58858c 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -148,6 +148,7 @@ describe('Entity service decorator', () => { expect(output).toEqual({ Test: 'Test', + filters: { $and: [{ locale: 'en' }] }, }); }); test.each(testData)( From 6b793c0d90bf6c440fc1382a06d4696ff7a2a48c Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Wed, 26 Apr 2023 10:25:48 +0200 Subject: [PATCH 7/8] fix test --- .../server/services/__tests__/entity-service-decorator.test.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index f65e58858c..02ecfffa8b 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -146,9 +146,8 @@ describe('Entity service decorator', () => { const output = await service.wrapParams({}, { uid: modelName, action: 'findMany' }); - expect(output).toEqual({ + expect(output).toContain({ Test: 'Test', - filters: { $and: [{ locale: 'en' }] }, }); }); test.each(testData)( From bda72b7a0fc07f3f06a40ecd25562b193fa3922e Mon Sep 17 00:00:00 2001 From: Boegie19 Date: Wed, 26 Apr 2023 10:49:13 +0200 Subject: [PATCH 8/8] fix test again --- .../services/__tests__/entity-service-decorator.test.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index 02ecfffa8b..827a2aed6d 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -146,9 +146,7 @@ describe('Entity service decorator', () => { const output = await service.wrapParams({}, { uid: modelName, action: 'findMany' }); - expect(output).toContain({ - Test: 'Test', - }); + expect(output.Test).toEqual('Test'); }); test.each(testData)( "Doesn't add locale param when the params contain id or id_in - %s",