From 51bbd419e1baabe8c3cf11440ca0ad168e6d7c3e Mon Sep 17 00:00:00 2001 From: surfingbytes Date: Wed, 29 Apr 2026 21:14:03 +0000 Subject: [PATCH] fix: wait for user settings response in project history e2e tests Replace waitForLoadState('networkidle') with waitForResponse on the GET /api/v1/user call so assertions run after the auth store has processed the updated showLastViewed setting. Made-with: Cursor --- .../tests/e2e/project/project-history.spec.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/frontend/tests/e2e/project/project-history.spec.ts b/frontend/tests/e2e/project/project-history.spec.ts index 9ad2b8a77..77191cead 100644 --- a/frontend/tests/e2e/project/project-history.spec.ts +++ b/frontend/tests/e2e/project/project-history.spec.ts @@ -91,9 +91,12 @@ test.describe('Project History', () => { }, }) - // Reload and verify section is hidden + // 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, + ) await page.reload() - await page.waitForLoadState('networkidle') + await userResponsePromise await expect(page.locator('body')).not.toContainText('Last viewed') }) @@ -124,8 +127,11 @@ 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 page.waitForLoadState('networkidle') + await hiddenResponsePromise await expect(page.locator('body')).not.toContainText('Last viewed') // Re-enable the setting @@ -135,9 +141,12 @@ test.describe('Project History', () => { }, }) - // Reload and verify section is visible again + // 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, + ) await page.reload() - await page.waitForLoadState('networkidle') + await visibleResponsePromise await expect(page.locator('body')).toContainText('Last viewed') }) })