Skip to content

Commit

Permalink
Unit test updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
AdobeLinhart committed Aug 28, 2024
1 parent 1722063 commit a500f50
Show file tree
Hide file tree
Showing 3 changed files with 120 additions and 74 deletions.
24 changes: 19 additions & 5 deletions test/features/personalization/createMartechMetadata.test.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,29 @@
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' },
mep: {},
};

// 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',
'bonjour fr': 'Hello en us',
'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',
Expand All @@ -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({});
});
});
22 changes: 0 additions & 22 deletions test/features/personalization/mocks/placeholders-new.js

This file was deleted.

148 changes: 101 additions & 47 deletions test/features/personalization/mocks/placeholders.js
Original file line number Diff line number Diff line change
@@ -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;

0 comments on commit a500f50

Please sign in to comment.