From f57aa77ee472da107e3f1dd3b7aa36b8b56b2e76 Mon Sep 17 00:00:00 2001 From: Antonio Ramirez Date: Sat, 2 May 2026 22:33:27 -0700 Subject: [PATCH 1/4] [MWPW-191054] - Bump catalog-marquee includes-section titles to XS font size Increase the font size of product titles ("Inclut :", "Acrobat", etc.) inside the catalog-marquee mnemonic-list from XXS (~11px) to XS (~18px) for improved readability and accessibility. --- .../plans/blocks/catalog-marquee/catalog-marquee.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/creativecloud/plans/blocks/catalog-marquee/catalog-marquee.css b/creativecloud/plans/blocks/catalog-marquee/catalog-marquee.css index 0cfc539bc..b6ad73a55 100644 --- a/creativecloud/plans/blocks/catalog-marquee/catalog-marquee.css +++ b/creativecloud/plans/blocks/catalog-marquee/catalog-marquee.css @@ -136,6 +136,10 @@ display: block; margin: 0 0 var(--spacing-s); } + + .catalog-marquee .mnemonic-list .product-list .product-item strong { + font-size: var(--type-heading-xs-size); + } } @media screen and (min-width: 1600px) { From c3a3d7fd82a7c743192028e9e8984ed618dd38c6 Mon Sep 17 00:00:00 2001 From: Antonio Ramirez Date: Sat, 2 May 2026 23:36:53 -0700 Subject: [PATCH 2/4] [MWPW-191054] - Add nala test for catalog-marquee mnemonic-list title size Verify product titles inside .catalog-marquee .mnemonic-list render at the XS font-size token (18px on desktop) on /fr/products/catalog. Also wire playwright.config.js baseURL to read PR_BRANCH_LIVE_URL / LOCAL_TEST_LIVE_URL (already populated by globalSetup and nala.run.js) so PR-specific tests validate against the PR preview rather than stage. --- .../catalog-marquee/catalog-marquee.page.js | 8 ++++++ .../catalog-marquee/catalog-marquee.spec.js | 11 ++++++++ .../catalog-marquee/catalog-marquee.test.js | 25 +++++++++++++++++++ playwright.config.js | 7 +++--- 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 nala/blocks/catalog-marquee/catalog-marquee.page.js create mode 100644 nala/blocks/catalog-marquee/catalog-marquee.spec.js create mode 100644 nala/blocks/catalog-marquee/catalog-marquee.test.js diff --git a/nala/blocks/catalog-marquee/catalog-marquee.page.js b/nala/blocks/catalog-marquee/catalog-marquee.page.js new file mode 100644 index 000000000..9d18da12e --- /dev/null +++ b/nala/blocks/catalog-marquee/catalog-marquee.page.js @@ -0,0 +1,8 @@ +export default class CatalogMarquee { + constructor(page) { + this.page = page; + this.catalogMarquee = page.locator('.catalog-marquee').first(); + this.mnemonicList = this.catalogMarquee.locator('.mnemonic-list'); + this.productItemTitle = this.mnemonicList.locator('.product-list .product-item strong').first(); + } +} diff --git a/nala/blocks/catalog-marquee/catalog-marquee.spec.js b/nala/blocks/catalog-marquee/catalog-marquee.spec.js new file mode 100644 index 000000000..ebdba2bcb --- /dev/null +++ b/nala/blocks/catalog-marquee/catalog-marquee.spec.js @@ -0,0 +1,11 @@ +module.exports = { + name: 'catalog-marquee', + features: [ + { + tcid: '0', + name: '@catalog-marquee-mnemonic-list-titles', + path: '/fr/products/catalog?martech=off&georouting=off', + tags: '@cc @cc-catalog-marquee @cc-catalog-marquee-mnemonic-list', + }, + ], +}; diff --git a/nala/blocks/catalog-marquee/catalog-marquee.test.js b/nala/blocks/catalog-marquee/catalog-marquee.test.js new file mode 100644 index 000000000..1bc74c7c0 --- /dev/null +++ b/nala/blocks/catalog-marquee/catalog-marquee.test.js @@ -0,0 +1,25 @@ +import { expect, test } from '@playwright/test'; +import { features } from './catalog-marquee.spec.js'; +import CatalogMarquee from './catalog-marquee.page.js'; + +let catalogMarquee; +test.describe('catalog-marquee mnemonic-list', () => { + test.beforeEach(async ({ page }) => { + catalogMarquee = new CatalogMarquee(page); + }); + + test(`${features[0].name},${features[0].tags}`, async ({ page, baseURL }) => { + console.info(`[Test Page]: ${baseURL}${features[0].path}`); + await test.step('open the catalog page', async () => { + await page.goto(`${baseURL}${features[0].path}`); + await page.waitForLoadState('domcontentloaded'); + await expect(page).toHaveURL(`${baseURL}${features[0].path}`); + }); + await test.step('mnemonic-list product titles render at XS font size (18px)', async () => { + await page.waitForLoadState(); + await expect(catalogMarquee.mnemonicList).toBeVisible(); + await expect(catalogMarquee.productItemTitle).toBeVisible(); + await expect(catalogMarquee.productItemTitle).toHaveCSS('font-size', '18px'); + }); + }); +}); diff --git a/playwright.config.js b/playwright.config.js index be8add0fd..224669d13 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -37,10 +37,9 @@ const config = { use: { actionTimeout: 60000, trace: 'on-first-retry', - baseURL: 'https://stage--cc--adobecom.aem.live', - // process.env.PR_BRANCH_LIVE_URL - // || process.env.LOCAL_TEST_LIVE_URL - // || 'https://stage--cc--adobecom.aem.live', + baseURL: process.env.PR_BRANCH_LIVE_URL + || process.env.LOCAL_TEST_LIVE_URL + || 'https://stage--cc--adobecom.aem.live', }, projects: [ { From bc038ef4bb53a46472be999a239c1eaa37a957c5 Mon Sep 17 00:00:00 2001 From: Antonio Ramirez Date: Mon, 4 May 2026 08:50:24 -0700 Subject: [PATCH 3/4] Revert "[MWPW-191054] - Add nala test for catalog-marquee mnemonic-list title size" This reverts commit c3a3d7fd82a7c743192028e9e8984ed618dd38c6. --- .../catalog-marquee/catalog-marquee.page.js | 8 ------ .../catalog-marquee/catalog-marquee.spec.js | 11 -------- .../catalog-marquee/catalog-marquee.test.js | 25 ------------------- playwright.config.js | 7 +++--- 4 files changed, 4 insertions(+), 47 deletions(-) delete mode 100644 nala/blocks/catalog-marquee/catalog-marquee.page.js delete mode 100644 nala/blocks/catalog-marquee/catalog-marquee.spec.js delete mode 100644 nala/blocks/catalog-marquee/catalog-marquee.test.js diff --git a/nala/blocks/catalog-marquee/catalog-marquee.page.js b/nala/blocks/catalog-marquee/catalog-marquee.page.js deleted file mode 100644 index 9d18da12e..000000000 --- a/nala/blocks/catalog-marquee/catalog-marquee.page.js +++ /dev/null @@ -1,8 +0,0 @@ -export default class CatalogMarquee { - constructor(page) { - this.page = page; - this.catalogMarquee = page.locator('.catalog-marquee').first(); - this.mnemonicList = this.catalogMarquee.locator('.mnemonic-list'); - this.productItemTitle = this.mnemonicList.locator('.product-list .product-item strong').first(); - } -} diff --git a/nala/blocks/catalog-marquee/catalog-marquee.spec.js b/nala/blocks/catalog-marquee/catalog-marquee.spec.js deleted file mode 100644 index ebdba2bcb..000000000 --- a/nala/blocks/catalog-marquee/catalog-marquee.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - name: 'catalog-marquee', - features: [ - { - tcid: '0', - name: '@catalog-marquee-mnemonic-list-titles', - path: '/fr/products/catalog?martech=off&georouting=off', - tags: '@cc @cc-catalog-marquee @cc-catalog-marquee-mnemonic-list', - }, - ], -}; diff --git a/nala/blocks/catalog-marquee/catalog-marquee.test.js b/nala/blocks/catalog-marquee/catalog-marquee.test.js deleted file mode 100644 index 1bc74c7c0..000000000 --- a/nala/blocks/catalog-marquee/catalog-marquee.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { expect, test } from '@playwright/test'; -import { features } from './catalog-marquee.spec.js'; -import CatalogMarquee from './catalog-marquee.page.js'; - -let catalogMarquee; -test.describe('catalog-marquee mnemonic-list', () => { - test.beforeEach(async ({ page }) => { - catalogMarquee = new CatalogMarquee(page); - }); - - test(`${features[0].name},${features[0].tags}`, async ({ page, baseURL }) => { - console.info(`[Test Page]: ${baseURL}${features[0].path}`); - await test.step('open the catalog page', async () => { - await page.goto(`${baseURL}${features[0].path}`); - await page.waitForLoadState('domcontentloaded'); - await expect(page).toHaveURL(`${baseURL}${features[0].path}`); - }); - await test.step('mnemonic-list product titles render at XS font size (18px)', async () => { - await page.waitForLoadState(); - await expect(catalogMarquee.mnemonicList).toBeVisible(); - await expect(catalogMarquee.productItemTitle).toBeVisible(); - await expect(catalogMarquee.productItemTitle).toHaveCSS('font-size', '18px'); - }); - }); -}); diff --git a/playwright.config.js b/playwright.config.js index 224669d13..be8add0fd 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -37,9 +37,10 @@ const config = { use: { actionTimeout: 60000, trace: 'on-first-retry', - baseURL: process.env.PR_BRANCH_LIVE_URL - || process.env.LOCAL_TEST_LIVE_URL - || 'https://stage--cc--adobecom.aem.live', + baseURL: 'https://stage--cc--adobecom.aem.live', + // process.env.PR_BRANCH_LIVE_URL + // || process.env.LOCAL_TEST_LIVE_URL + // || 'https://stage--cc--adobecom.aem.live', }, projects: [ { From 6d7256263ebe7b4ffc71cf8c70904fcf78b0e58a Mon Sep 17 00:00:00 2001 From: Antonio Ramirez Date: Wed, 20 May 2026 15:49:57 -0700 Subject: [PATCH 4/4] Fix stale interactive-components and cc-forms paths broken by plans/ reorg MWPW-193832 (d733975b) moved blocks and features under creativecloud/plans/ but left interactive-metadata.js and cc-forms.js composing URLs against the pre-reorg layout, breaking dynamic imports and turning Unit Tests red on stage and main. Repoints the six remaining /creativecloud/features/ refs in those two files to /creativecloud/plans/features/. WTR: 275 / 0 / 1 (was 246 / 29 / 1). --- creativecloud/plans/blocks/cc-forms/cc-forms.js | 8 ++++---- .../blocks/interactive-metadata/interactive-metadata.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/creativecloud/plans/blocks/cc-forms/cc-forms.js b/creativecloud/plans/blocks/cc-forms/cc-forms.js index 106823d20..1d156f0ba 100644 --- a/creativecloud/plans/blocks/cc-forms/cc-forms.js +++ b/creativecloud/plans/blocks/cc-forms/cc-forms.js @@ -22,7 +22,7 @@ const odinConfig = { const formConfig = { perpeptual: { type: 'perpeptual', - jsPath: '/creativecloud/features/cc-forms/forms/perpeptual.js', + jsPath: '/creativecloud/plans/features/cc-forms/forms/perpeptual.js', blockDataset: { clientname: 'trials', endpoint: '/api2/marketing_common_service', @@ -33,7 +33,7 @@ const formConfig = { }, connect: { type: 'connect', - jsPath: '/creativecloud/features/cc-forms/forms/connect.js', + jsPath: '/creativecloud/plans/features/cc-forms/forms/connect.js', blockDataset: { clientname: 'connecttrial', endpoint: '/api2/connect_trial_creation_service', @@ -47,7 +47,7 @@ const formConfig = { }, subscribe: { type: 'subscribe', - jsPath: '/creativecloud/features/cc-forms/forms/subscribe.js', + jsPath: '/creativecloud/plans/features/cc-forms/forms/subscribe.js', blockDataset: { endpoint: '/api2/subscribe_v1', 'form-submit': 'trials', @@ -60,7 +60,7 @@ const formConfig = { }, unsubscribe: { type: 'unsubscribe', - jsPath: '/creativecloud/features/cc-forms/forms/unsubscribe.js', + jsPath: '/creativecloud/plans/features/cc-forms/forms/unsubscribe.js', blockDataset: { clientname: 'trials', endpoint: '/api2/unsubscribe_v2', diff --git a/creativecloud/plans/blocks/interactive-metadata/interactive-metadata.js b/creativecloud/plans/blocks/interactive-metadata/interactive-metadata.js index aab50c5f7..b863a956e 100644 --- a/creativecloud/plans/blocks/interactive-metadata/interactive-metadata.js +++ b/creativecloud/plans/blocks/interactive-metadata/interactive-metadata.js @@ -39,8 +39,8 @@ async function addLayerAnimation(asset) { } async function loadJSandCSS(stepName) { - const stepJS = `${window.location.origin}/creativecloud/features/interactive-components/${stepName}/${stepName}.js`; - const stepCSS = `${window.location.origin}/creativecloud/features/interactive-components/${stepName}/${stepName}.css`; + const stepJS = `${window.location.origin}/creativecloud/plans/features/interactive-components/${stepName}/${stepName}.js`; + const stepCSS = `${window.location.origin}/creativecloud/plans/features/interactive-components/${stepName}/${stepName}.css`; loadStyle(stepCSS); const { default: initFunc } = await import(stepJS); return initFunc;