Skip to content

Commit 17a2858

Browse files
committed
Fix e2e test cases in 01-smoke
1 parent 087e949 commit 17a2858

2 files changed

Lines changed: 18 additions & 9 deletions

File tree

‎test/e2e/specs/01-smoke/critical-paths.spec.ts‎

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ test.describe('Critical Paths @smoke', () => {
2222
test.skip(isMobile, 'Desktop navigation test - skipping on mobile viewport')
2323

2424
const page = await BasePage.init(playwrightPage)
25-
26-
// Import setupTestPage here to avoid unused import warnings on other tests
27-
const { setupTestPage } = await import('../../helpers/cookieHelper')
28-
await setupTestPage(playwrightPage, '/')
29-
3025
for (const { url: path } of page.navigationItems) {
31-
await page.click(`a[href="${path}"]`)
26+
await page.goto('/')
27+
const navigationComplete = page.waitForPageLoad()
28+
await page.navigateToPage(path)
29+
await navigationComplete
30+
await playwrightPage.waitForFunction(() => {
31+
return !document.documentElement.hasAttribute('data-astro-transition')
32+
})
3233
// eslint-disable-next-line security/detect-non-literal-regexp
3334
await page.expectUrl(new RegExp(path))
3435
}
@@ -41,21 +42,26 @@ test.describe('Critical Paths @smoke', () => {
4142
test.skip(!isMobile, 'Mobile navigation test - skipping on desktop viewport')
4243

4344
const page = await BasePage.init(playwrightPage)
44-
await page.goto('/')
4545

4646
const navItems = page.navigationItems
4747
for (let i = 0; i < navItems.length; i++) {
4848
const item = navItems[i]
4949
if (!item) continue
5050

5151
const { url: path } = item
52+
await page.goto('/')
5253

5354
// Open mobile menu before each navigation
5455
await page.click('button[aria-label="toggle menu"]')
55-
await playwrightPage.waitForTimeout(600) // Wait for mobile menu animation
56+
await playwrightPage.waitForSelector('.menu-visible', { state: 'visible' })
5657

5758
// Click navigation link
59+
const navigationComplete = page.waitForPageLoad()
5860
await page.click(`a[href="${path}"]`)
61+
await navigationComplete
62+
await playwrightPage.waitForFunction(() => {
63+
return !document.documentElement.hasAttribute('data-astro-transition')
64+
})
5965
// eslint-disable-next-line security/detect-non-literal-regexp
6066
await page.expectUrl(new RegExp(path))
6167
}

‎test/e2e/specs/01-smoke/homepage.spec.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22
* Homepage Smoke Test
33
* Dedicated test for homepage basic functionality and app initialization
44
*/
5+
import themeConfig from '@content/themes.json' assert { type: 'json' }
56
import { BasePage, test, expect } from '@test/e2e/helpers'
67

8+
const defaultThemeId = themeConfig.defaultTheme?.id ?? 'light'
9+
710
test.describe('Homepage @smoke', () => {
811
test('@ready homepage loads successfully', async ({ page: playwrightPage }) => {
912
const page = await BasePage.init(playwrightPage)
@@ -23,7 +26,7 @@ test.describe('Homepage @smoke', () => {
2326
await page.goto('/')
2427
await themeKeyPromise
2528
const result = await page.getThemeKeyValue()
26-
expect(result).toBe('default')
29+
expect(result).toBe(defaultThemeId)
2730
})
2831

2932
test('@ready homepage has no errors', async ({ page: playwrightPage }) => {

0 commit comments

Comments
 (0)