diff --git a/frontend/tests/e2e/project/project-history.spec.ts b/frontend/tests/e2e/project/project-history.spec.ts index 77191cead..51a4caa5c 100644 --- a/frontend/tests/e2e/project/project-history.spec.ts +++ b/frontend/tests/e2e/project/project-history.spec.ts @@ -76,11 +76,17 @@ test.describe('Project History', () => { }, false) } + // Navigate to home first so the default-page redirect guard is primed + // (sets sessionStorage flag), preventing later page.goto('/') from + // redirecting to the last visited project. + await page.goto('/') + await page.waitForLoadState('networkidle') + // Visit projects to build up history await visitProjectsToBuildHistory(page, projects) // Go to overview and verify section is visible - await page.goto('/') + await page.locator('nav.menu.top-menu a').filter({hasText: 'Overview'}).click() await expect(page.locator('body')).toContainText('Last viewed') // Disable the setting via API @@ -91,12 +97,9 @@ test.describe('Project History', () => { }, }) - // Reload and wait for the user settings to be fetched before asserting - const userResponsePromise = page.waitForResponse(resp => - resp.url().includes('/api/v1/user') && resp.request().method() === 'GET' && resp.status() === 200, - ) + // Reload and verify section is hidden await page.reload() - await userResponsePromise + await page.waitForLoadState('networkidle') await expect(page.locator('body')).not.toContainText('Last viewed') }) @@ -127,11 +130,8 @@ test.describe('Project History', () => { await visitProjectsToBuildHistory(page, projects) // Verify section is hidden - const hiddenResponsePromise = page.waitForResponse(resp => - resp.url().includes('/api/v1/user') && resp.request().method() === 'GET' && resp.status() === 200, - ) await page.goto('/') - await hiddenResponsePromise + await page.waitForLoadState('networkidle') await expect(page.locator('body')).not.toContainText('Last viewed') // Re-enable the setting @@ -141,12 +141,9 @@ test.describe('Project History', () => { }, }) - // Reload and wait for the user settings to be fetched before asserting - const visibleResponsePromise = page.waitForResponse(resp => - resp.url().includes('/api/v1/user') && resp.request().method() === 'GET' && resp.status() === 200, - ) + // Reload and verify section is visible again await page.reload() - await visibleResponsePromise + await page.waitForLoadState('networkidle') await expect(page.locator('body')).toContainText('Last viewed') }) })