From b793466a82f64d5d602e4c021f267ed4f7f14c4f Mon Sep 17 00:00:00 2001 From: timhaintz Date: Sun, 12 Jul 2026 20:27:25 +1000 Subject: [PATCH 1/3] test: update live website smoke expectations --- website-e2e/tests/smoke.spec.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/website-e2e/tests/smoke.spec.ts b/website-e2e/tests/smoke.spec.ts index 8c2d6a2..b0265c8 100644 --- a/website-e2e/tests/smoke.spec.ts +++ b/website-e2e/tests/smoke.spec.ts @@ -7,23 +7,29 @@ test.describe('homepage and global navigation', () => { await expect(page).toHaveTitle(/Ballarat AI Prompt Taxonomy/i); await expect(page.getByRole('heading', { level: 1, name: /Ballarat AI Prompt Taxonomy/i })).toBeVisible(); await expect(page.getByRole('link', { name: /Browse Patterns/i })).toBeVisible(); - await expect(page.getByRole('link', { name: /Orientation \/ Getting Started/i })).toBeVisible(); + await expect(page.getByRole('link', { name: /Start with the Guide/i })).toBeVisible(); await expect(page.getByRole('search', { name: /Prompt pattern search/i })).toBeVisible(); }); test('global navigation reaches logic layers', async ({ page }) => { await page.goto('./'); - await page.getByRole('navigation', { name: /Global navigation/i }).getByRole('link', { name: 'Logic' }).click(); + const logicLink = page.getByRole('navigation', { name: 'Primary' }).getByRole('link', { name: 'Logic' }); + if (!(await logicLink.isVisible())) { + await page.getByRole('button', { name: 'Menu' }).click(); + } + await logicLink.click(); await expect(page).toHaveURL(/\/logic\/?$/); await expect(page.getByRole('heading', { level: 1, name: /Logic Layers/i })).toBeVisible(); }); - test('responsible use page renders its main heading', async ({ page }) => { + test('responsible use page renders its policy guidance', async ({ page }) => { await page.goto('./responsible-use/'); - await expect(page.getByRole('heading', { level: 1, name: /Responsible Use & Ethical Guidelines/i })).toBeVisible(); - await expect(page.getByRole('heading', { level: 2, name: /Core Principles/i })).toBeVisible(); + await expect(page.getByRole('heading', { level: 1, name: /^Responsible Use$/i })).toBeVisible(); + await expect(page.getByRole('heading', { level: 2, name: /Research inclusion is not endorsement/i })).toBeVisible(); + await expect(page.getByRole('heading', { level: 2, name: /Before you apply a pattern/i })).toBeVisible(); + await expect(page.getByRole('link', { name: /Report privately/i })).toBeVisible(); }); }); From bf1ca1515342190254abc1685f2ade4b798a9a33 Mon Sep 17 00:00:00 2001 From: timhaintz Date: Sun, 12 Jul 2026 20:31:18 +1000 Subject: [PATCH 2/3] ci: run website e2e on pull requests --- .github/workflows/website-e2e.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/website-e2e.yml b/.github/workflows/website-e2e.yml index 10a0dff..bae7d5d 100644 --- a/.github/workflows/website-e2e.yml +++ b/.github/workflows/website-e2e.yml @@ -2,6 +2,11 @@ name: Website E2E on: workflow_dispatch: + pull_request: + branches: [main] + paths: + - 'website-e2e/**' + - '.github/workflows/website-e2e.yml' push: branches: [main] paths: From 9beb12f80b9e4e552ab2f34e0d215a2367d703c8 Mon Sep 17 00:00:00 2001 From: timhaintz Date: Sun, 12 Jul 2026 21:00:58 +1000 Subject: [PATCH 3/3] fix: avoid duplicate base path in PEIL links --- .../src/components/patterns/PatternDetail.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompt-pattern-dictionary/src/components/patterns/PatternDetail.tsx b/prompt-pattern-dictionary/src/components/patterns/PatternDetail.tsx index 5751829..d6d59d2 100644 --- a/prompt-pattern-dictionary/src/components/patterns/PatternDetail.tsx +++ b/prompt-pattern-dictionary/src/components/patterns/PatternDetail.tsx @@ -195,7 +195,7 @@ export default function PatternDetail({ const generalExplanation = attrs?.generalExplanation?.trim() ? attrs.generalExplanation.trim() : null; const knowledgeIntent = attrs?.knowledgeIntent?.trim() ? attrs.knowledgeIntent.trim() : null; const peilPrompt = attrs?.peilPrompt?.trim() ? attrs.peilPrompt.trim() : null; - const orientationPeilHref = withBasePath('/orientation/all#peil'); + const orientationPeilHref = '/orientation/all#peil'; const showReference = context === 'category' && paperTitle && paperUrl;