From a500f507f6926dbbf6ddfcee1aa8a73662d7dc3b Mon Sep 17 00:00:00 2001 From: AdobeLinhart Date: Wed, 28 Aug 2024 12:06:32 -0600 Subject: [PATCH] Unit test updates. --- .../createMartechMetadata.test.js | 24 ++- .../personalization/mocks/placeholders-new.js | 22 --- .../personalization/mocks/placeholders.js | 148 ++++++++++++------ 3 files changed, 120 insertions(+), 74 deletions(-) delete mode 100644 test/features/personalization/mocks/placeholders-new.js diff --git a/test/features/personalization/createMartechMetadata.test.js b/test/features/personalization/createMartechMetadata.test.js index 9b504b17cf..ba6a94eae2 100644 --- a/test/features/personalization/createMartechMetadata.test.js +++ b/test/features/personalization/createMartechMetadata.test.js @@ -1,7 +1,6 @@ import { expect } from '@esm-bundle/chai'; import { createMartechMetadata } from '../../../libs/features/personalization/personalization.js'; import placeholders from './mocks/placeholders.js'; -import newPlaceholders from './mocks/placeholders-new.js'; const config = { locale: { ietf: 'fr-fr' }, @@ -9,14 +8,14 @@ const config = { }; // Note that the manifestPath doesn't matter as we stub the fetch -describe('replace action', () => { +describe('test martech metadata creation', () => { beforeEach(() => { config.mep = {}; }); - it('testing create martech metadata output', async () => { + it('test two non US manifests', async () => { expect(config.mep).to.deep.equal({}); - await createMartechMetadata(placeholders, config, 'fr'); + await createMartechMetadata(placeholders.geoTest, config, 'fr'); expect(config.mep.analyticLocalization).to.deep.equal({ 'value1 fr': 'value1 en us', 'value2 fr': 'value2 en us', @@ -24,7 +23,7 @@ describe('replace action', () => { 'buy now fr': 'buy now en us', 'try now fr': 'try now en us', }); - await createMartechMetadata(newPlaceholders, config, 'fr'); + await createMartechMetadata(placeholders.secondManifestTest, config, 'fr'); expect(config.mep.analyticLocalization).to.deep.equal({ 'new fr': 'new en us', 'value1 fr': 'value1 en us', @@ -34,4 +33,19 @@ describe('replace action', () => { 'try now fr': 'try now en us', }); }); + it('test one manifest non US withou en-us keys', async () => { + await createMartechMetadata(placeholders.keyTest, config, 'fr'); + expect(config.mep.analyticLocalization).to.deep.equal({ + 'value1 fr': 'test placeholder', + 'value2 fr': 'test placeholder2', + 'bonjour fr': 'marquee headline', + 'buy now fr': 'marquee hollow', + 'try now fr': 'marquee solid', + }); + }); + it('test one manifest en-US', async () => { + config.locale.ietf = 'en-US'; + await createMartechMetadata(placeholders.keyTest, config, 'us'); + expect(config.mep).to.deep.equal({}); + }); }); diff --git a/test/features/personalization/mocks/placeholders-new.js b/test/features/personalization/mocks/placeholders-new.js deleted file mode 100644 index 06c9c7352b..0000000000 --- a/test/features/personalization/mocks/placeholders-new.js +++ /dev/null @@ -1,22 +0,0 @@ -const newPlaceholders = [ - { - key: 'test-placeholder', - 'mobile-device & us': 'US Mobile Value', - us: 'value1-us', - 'en-us': 'new-en-us', - 'ca & not fr': 'value1-ca-not-fr', - fr: 'new-fr', - 'mobile-device': 'value1-mobile', - }, - { - key: 'test-placeholder2', - 'mobile-device & us': 'US Mobile Value2', - us: 'value2-us', - 'en-us': 'new2-en-us', - 'ca & not fr': 'value2-ca-not-fr', - fr: 'value2-fr', - 'mobile-device': 'value2-mobile', - }, -]; - -export default newPlaceholders; diff --git a/test/features/personalization/mocks/placeholders.js b/test/features/personalization/mocks/placeholders.js index 03a42937b6..6cf3a8a9d3 100644 --- a/test/features/personalization/mocks/placeholders.js +++ b/test/features/personalization/mocks/placeholders.js @@ -1,49 +1,103 @@ -const placeholders = [ - { - key: 'test-placeholder', - 'mobile-device & us': 'US Mobile Value', - us: 'value1-us', - 'en-us': 'value1-en-us', - 'ca & not fr': 'value1-ca-not-fr', - fr: 'value1-fr', - 'mobile-device': 'value1-mobile', - }, - { - key: 'test-placeholder2', - 'mobile-device & us': 'US Mobile Value2', - us: 'value2-us', - 'en-us': 'value2-en-us', - 'ca & not fr': 'value2-ca-not-fr', - fr: 'value2-fr', - 'mobile-device': 'value2-mobile', - }, - { - key: 'marquee-headline', - 'mobile-device & us': 'hello US mobile', - us: 'hello-us', - 'en-us': 'Hello-en-us', - 'ca & not fr': 'hello-ca-not-fr', - fr: 'bonjour-fr', - 'mobile-device': 'hello-mobile', - }, - { - key: 'marquee-hollow', - 'mobile-device & us': 'buy-now-mobile-us', - us: 'buy-now-us', - 'en-us': 'buy-now-en-us', - 'ca & not fr': 'buy-now-ca-not-fr', - fr: 'buy-now-fr', - 'mobile-device': 'buy-now-mobile', - }, - { - key: 'marquee-solid', - 'mobile-device & us': 'try-now-mobile-us', - us: 'try-now-us', - 'en-us': 'try-now-en-us', - 'ca & not fr': 'try-now-ca-not-fr', - fr: 'try-now-fr', - 'mobile-device': 'try-now-mobile', - }, -]; +const placeholders = { + geoTest: [ + { + key: 'test-placeholder', + 'mobile-device & us': 'US Mobile Value', + us: 'value1-us', + 'en-us': 'value1-en-us', + 'ca & not fr': 'value1-ca-not-fr', + fr: 'value1-fr', + 'mobile-device': 'value1-mobile', + }, + { + key: 'test-placeholder2', + 'mobile-device & us': 'US Mobile Value2', + us: 'value2-us', + 'en-us': 'value2-en-us', + 'ca & not fr': 'value2-ca-not-fr', + fr: 'value2-fr', + 'mobile-device': 'value2-mobile', + }, + { + key: 'marquee-headline', + 'mobile-device & us': 'hello US mobile', + us: 'hello-us', + 'en-us': 'Hello-en-us', + 'ca & not fr': 'hello-ca-not-fr', + fr: 'bonjour-fr', + 'mobile-device': 'hello-mobile', + }, + { + key: 'marquee-hollow', + 'mobile-device & us': 'buy-now-mobile-us', + us: 'buy-now-us', + 'en-us': 'buy-now-en-us', + 'ca & not fr': 'buy-now-ca-not-fr', + fr: 'buy-now-fr', + 'mobile-device': 'buy-now-mobile', + }, + { + key: 'marquee-solid', + 'mobile-device & us': 'try-now-mobile-us', + us: 'try-now-us', + 'en-us': 'try-now-en-us', + 'ca & not fr': 'try-now-ca-not-fr', + fr: 'try-now-fr', + 'mobile-device': 'try-now-mobile', + }, + ], + secondManifestTest: [ + { + key: 'test-placeholder', + 'mobile-device & us': 'US Mobile Value', + us: 'value1-us', + 'en-us': 'new-en-us', + 'ca & not fr': 'value1-ca-not-fr', + fr: 'new-fr', + 'mobile-device': 'value1-mobile', + }, + { + key: 'test-placeholder2', + 'mobile-device & us': 'US Mobile Value2', + us: 'value2-us', + 'en-us': 'new2-en-us', + 'ca & not fr': 'value2-ca-not-fr', + fr: 'value2-fr', + 'mobile-device': 'value2-mobile', + }, + ], + keyTest: [ + { + key: 'test-placeholder', + 'mobile-device & us': 'US Mobile Value', + fr: 'value1-fr', + 'mobile-device': 'value1-mobile', + }, + { + key: 'test-placeholder2', + 'mobile-device & us': 'US Mobile Value2', + fr: 'value2-fr', + 'mobile-device': 'value2-mobile', + }, + { + key: 'marquee-headline', + 'mobile-device & us': 'hello US mobile', + fr: 'bonjour-fr', + 'mobile-device': 'hello-mobile', + }, + { + key: 'marquee-hollow', + 'mobile-device & us': 'buy-now-mobile-us', + fr: 'buy-now-fr', + 'mobile-device': 'buy-now-mobile', + }, + { + key: 'marquee-solid', + 'mobile-device & us': 'try-now-mobile-us', + fr: 'try-now-fr', + 'mobile-device': 'try-now-mobile', + }, + ], +}; export default placeholders;