From ed2f0d9ddda95d2c40d201f6a49f5d9a12c47226 Mon Sep 17 00:00:00 2001 From: Rami Yushuvaev Date: Mon, 7 Sep 2026 22:49:25 +0300 Subject: [PATCH 1/5] fix: remove unused `ADD_SNIPPET` URL from constants --- tests/e2e/helpers/constants.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/e2e/helpers/constants.ts b/tests/e2e/helpers/constants.ts index be716a87c..fb21a089e 100644 --- a/tests/e2e/helpers/constants.ts +++ b/tests/e2e/helpers/constants.ts @@ -34,7 +34,6 @@ export const URLS = { IMPORT_SNIPPETS_ADMIN: '/wp-admin/admin.php?page=import-code-snippets', SETTINGS_ADMIN: '/wp-admin/admin.php?page=snippets-settings', WELCOME_SCREEN_ADMIN: '/wp-admin/admin.php?page=code-snippets-welcome', - ADD_SNIPPET: '/wp-admin/admin.php?page=add-snippet', COMMUNITY_CLOUD: '/wp-admin/admin.php?page=snippets&subpage=cloud-community', FRONTEND: '/' } From e58768f25ddba84cd07fe1203c23eef5bf9b01af Mon Sep 17 00:00:00 2001 From: Rami Yushuvaev Date: Mon, 7 Sep 2026 23:04:26 +0300 Subject: [PATCH 2/5] chore: add test to check each admin screen has one `

` heading --- tests/e2e/admin-screen-headings.spec.ts | 25 +++++++++++++++++++++++++ tests/e2e/helpers/constants.ts | 1 + 2 files changed, 26 insertions(+) create mode 100644 tests/e2e/admin-screen-headings.spec.ts diff --git a/tests/e2e/admin-screen-headings.spec.ts b/tests/e2e/admin-screen-headings.spec.ts new file mode 100644 index 000000000..ff72a5e61 --- /dev/null +++ b/tests/e2e/admin-screen-headings.spec.ts @@ -0,0 +1,25 @@ +import { expect, test } from '@playwright/test' +import { URLS } from './helpers/constants' + +const SCREENS = [ + { name: 'Manage Snippets', url: URLS.SNIPPETS_ADMIN }, + { name: 'Add Snippet', url: URLS.ADD_SNIPPET_ADMIN }, + { name: 'Community Cloud', url: URLS.COMMUNITY_CLOUD }, + { name: 'Blueprints', url: `${URLS.SNIPPETS_ADMIN}&subpage=blueprints` }, + { name: 'Cloud Library', url: `${URLS.SNIPPETS_ADMIN}&subpage=cloud-library` }, + { name: 'AI Agent', url: `${URLS.SNIPPETS_ADMIN}&subpage=ai-agent` }, + { name: 'Insights', url: URLS.INSIGHTS_ADMIN }, + { name: 'Import', url: URLS.IMPORT_SNIPPETS_ADMIN }, + { name: 'Settings', url: URLS.SETTINGS_ADMIN }, + { name: 'Welcome', url: URLS.WELCOME_SCREEN_ADMIN } +] + +test.describe('Admin screen h1 headings', () => { + for (const screen of SCREENS) { + test(`${screen.name} renders one page heading`, async ({ page }) => { + await page.goto(screen.url) + + await expect(page.locator('#wpbody-content h1')).toHaveCount(1) + }) + } +}) diff --git a/tests/e2e/helpers/constants.ts b/tests/e2e/helpers/constants.ts index fb21a089e..2007275f1 100644 --- a/tests/e2e/helpers/constants.ts +++ b/tests/e2e/helpers/constants.ts @@ -31,6 +31,7 @@ export const URLS = { SNIPPETS_ADMIN: '/wp-admin/admin.php?page=snippets', COMMUNITY_CLOUD_ADMIN: '/wp-admin/admin.php?page=snippets&subpage=cloud-community', ADD_SNIPPET_ADMIN: '/wp-admin/admin.php?page=add-snippet', + INSIGHTS_ADMIN: '/wp-admin/admin.php?page=code-snippets-insights', IMPORT_SNIPPETS_ADMIN: '/wp-admin/admin.php?page=import-code-snippets', SETTINGS_ADMIN: '/wp-admin/admin.php?page=snippets-settings', WELCOME_SCREEN_ADMIN: '/wp-admin/admin.php?page=code-snippets-welcome', From 2bae7345fb470449e83459e308e2663752831aa5 Mon Sep 17 00:00:00 2001 From: Rami Yushuvaev Date: Mon, 7 Sep 2026 23:14:47 +0300 Subject: [PATCH 3/5] fix: update admin screen URLs for Blueprints, Cloud Library, and AI Agent --- tests/e2e/admin-screen-headings.spec.ts | 6 +++--- tests/e2e/helpers/constants.ts | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/e2e/admin-screen-headings.spec.ts b/tests/e2e/admin-screen-headings.spec.ts index ff72a5e61..7ba2f5836 100644 --- a/tests/e2e/admin-screen-headings.spec.ts +++ b/tests/e2e/admin-screen-headings.spec.ts @@ -5,9 +5,9 @@ const SCREENS = [ { name: 'Manage Snippets', url: URLS.SNIPPETS_ADMIN }, { name: 'Add Snippet', url: URLS.ADD_SNIPPET_ADMIN }, { name: 'Community Cloud', url: URLS.COMMUNITY_CLOUD }, - { name: 'Blueprints', url: `${URLS.SNIPPETS_ADMIN}&subpage=blueprints` }, - { name: 'Cloud Library', url: `${URLS.SNIPPETS_ADMIN}&subpage=cloud-library` }, - { name: 'AI Agent', url: `${URLS.SNIPPETS_ADMIN}&subpage=ai-agent` }, + { name: 'Blueprints', url: URLS.BLUEPRINTS_ADMIN }, + { name: 'Cloud Library', url: URLS.CLOUD_LIBRARY_ADMIN }, + { name: 'AI Agent', url: URLS.AI_AGENT_ADMIN }, { name: 'Insights', url: URLS.INSIGHTS_ADMIN }, { name: 'Import', url: URLS.IMPORT_SNIPPETS_ADMIN }, { name: 'Settings', url: URLS.SETTINGS_ADMIN }, diff --git a/tests/e2e/helpers/constants.ts b/tests/e2e/helpers/constants.ts index 2007275f1..9d015f91b 100644 --- a/tests/e2e/helpers/constants.ts +++ b/tests/e2e/helpers/constants.ts @@ -30,6 +30,9 @@ export const TIMEOUTS = { export const URLS = { SNIPPETS_ADMIN: '/wp-admin/admin.php?page=snippets', COMMUNITY_CLOUD_ADMIN: '/wp-admin/admin.php?page=snippets&subpage=cloud-community', + BLUEPRINTS_ADMIN: '/wp-admin/admin.php?page=snippets&subpage=blueprints', + CLOUD_LIBRARY_ADMIN: '/wp-admin/admin.php?page=snippets&subpage=cloud-library', + AI_AGENT_ADMIN: '/wp-admin/admin.php?page=snippets&subpage=ai-agent', ADD_SNIPPET_ADMIN: '/wp-admin/admin.php?page=add-snippet', INSIGHTS_ADMIN: '/wp-admin/admin.php?page=code-snippets-insights', IMPORT_SNIPPETS_ADMIN: '/wp-admin/admin.php?page=import-code-snippets', From dcb1605186e13c716058c135acd5f42286f8d0ad Mon Sep 17 00:00:00 2001 From: Rami Yushuvaev Date: Mon, 7 Sep 2026 23:17:52 +0300 Subject: [PATCH 4/5] fix: remove duplicate URL constants in Playwright tests --- tests/e2e/admin-screen-headings.spec.ts | 2 +- tests/e2e/cloud-download-eligibility.spec.ts | 2 +- tests/e2e/code-snippets-community-featured.spec.ts | 2 +- tests/e2e/helpers/constants.ts | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/e2e/admin-screen-headings.spec.ts b/tests/e2e/admin-screen-headings.spec.ts index 7ba2f5836..1671fe9a3 100644 --- a/tests/e2e/admin-screen-headings.spec.ts +++ b/tests/e2e/admin-screen-headings.spec.ts @@ -4,7 +4,7 @@ import { URLS } from './helpers/constants' const SCREENS = [ { name: 'Manage Snippets', url: URLS.SNIPPETS_ADMIN }, { name: 'Add Snippet', url: URLS.ADD_SNIPPET_ADMIN }, - { name: 'Community Cloud', url: URLS.COMMUNITY_CLOUD }, + { name: 'Community Cloud', url: URLS.COMMUNITY_CLOUD_ADMIN }, { name: 'Blueprints', url: URLS.BLUEPRINTS_ADMIN }, { name: 'Cloud Library', url: URLS.CLOUD_LIBRARY_ADMIN }, { name: 'AI Agent', url: URLS.AI_AGENT_ADMIN }, diff --git a/tests/e2e/cloud-download-eligibility.spec.ts b/tests/e2e/cloud-download-eligibility.spec.ts index 32b91b0e1..4e0cdeb71 100644 --- a/tests/e2e/cloud-download-eligibility.spec.ts +++ b/tests/e2e/cloud-download-eligibility.spec.ts @@ -68,7 +68,7 @@ const routeCloudSnippets = (page: Page, state: CloudRoutesState) => }) const openCommunityCloud = async (page: Page, view: 'table' | 'card') => { - await page.goto(URLS.COMMUNITY_CLOUD) + await page.goto(URLS.COMMUNITY_CLOUD_ADMIN) await expect(page.locator('.cloud-search')).toBeVisible() await page.getByTitle(`Switch to ${view} view`).click() } diff --git a/tests/e2e/code-snippets-community-featured.spec.ts b/tests/e2e/code-snippets-community-featured.spec.ts index 92c2d3bac..ffcf7b338 100644 --- a/tests/e2e/code-snippets-community-featured.spec.ts +++ b/tests/e2e/code-snippets-community-featured.spec.ts @@ -25,7 +25,7 @@ const closePreviewIfOpen = async (page: Page) => { } const openCommunityCloud = async (page: Page) => { - await page.goto(URLS.COMMUNITY_CLOUD) + await page.goto(URLS.COMMUNITY_CLOUD_ADMIN) await page.waitForLoadState('domcontentloaded') } diff --git a/tests/e2e/helpers/constants.ts b/tests/e2e/helpers/constants.ts index 9d015f91b..f3c0547d0 100644 --- a/tests/e2e/helpers/constants.ts +++ b/tests/e2e/helpers/constants.ts @@ -38,7 +38,6 @@ export const URLS = { IMPORT_SNIPPETS_ADMIN: '/wp-admin/admin.php?page=import-code-snippets', SETTINGS_ADMIN: '/wp-admin/admin.php?page=snippets-settings', WELCOME_SCREEN_ADMIN: '/wp-admin/admin.php?page=code-snippets-welcome', - COMMUNITY_CLOUD: '/wp-admin/admin.php?page=snippets&subpage=cloud-community', FRONTEND: '/' } From 04641e1273bb8751587ee3042643b9661fe3989d Mon Sep 17 00:00:00 2001 From: Rami Yushuvaev Date: Mon, 7 Sep 2026 23:22:13 +0300 Subject: [PATCH 5/5] fix: code review suggestion --- tests/e2e/admin-screen-headings.spec.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/e2e/admin-screen-headings.spec.ts b/tests/e2e/admin-screen-headings.spec.ts index 1671fe9a3..b658b18f9 100644 --- a/tests/e2e/admin-screen-headings.spec.ts +++ b/tests/e2e/admin-screen-headings.spec.ts @@ -1,6 +1,8 @@ import { expect, test } from '@playwright/test' import { URLS } from './helpers/constants' +const EXPECTED_H1_HEADING_COUNT = 1 + const SCREENS = [ { name: 'Manage Snippets', url: URLS.SNIPPETS_ADMIN }, { name: 'Add Snippet', url: URLS.ADD_SNIPPET_ADMIN }, @@ -19,7 +21,7 @@ test.describe('Admin screen h1 headings', () => { test(`${screen.name} renders one page heading`, async ({ page }) => { await page.goto(screen.url) - await expect(page.locator('#wpbody-content h1')).toHaveCount(1) + await expect(page.getByRole('heading', { level: 1 })).toHaveCount(EXPECTED_H1_HEADING_COUNT) }) } })