mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-17 16:37:43 +00:00
fix(e2e): replace hard-coded waits with state-based waits in focus-mode-break and take-a-break
Add intermediate state assertion (completeSessionButton not visible) before checking for break screen in focus-mode-break tests, and replace unreliable networkidle waits with element visibility assertions in take-a-break tests.
This commit is contained in:
parent
ed7fe61d41
commit
ea60741889
2 changed files with 21 additions and 17 deletions
|
|
@ -62,8 +62,11 @@ test.describe('Focus Mode - Break Controls (Issue #5995)', () => {
|
|||
await expect(completeSessionButton).toBeVisible({ timeout: 20000 });
|
||||
await completeSessionButton.click();
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 10000 });
|
||||
// Wait for session-done transition to complete before checking for break
|
||||
await expect(completeSessionButton).not.toBeVisible({ timeout: 10000 });
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion via effects chain
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 15000 });
|
||||
|
||||
// Verify mode selector is NOT visible on break screen
|
||||
await expect(modeSelector).not.toBeVisible();
|
||||
|
|
@ -124,8 +127,11 @@ test.describe('Focus Mode - Break Controls (Issue #5995)', () => {
|
|||
await expect(completeSessionButton).toBeVisible({ timeout: 20000 });
|
||||
await completeSessionButton.click();
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 10000 });
|
||||
// Wait for session-done transition to complete before checking for break
|
||||
await expect(completeSessionButton).not.toBeVisible({ timeout: 10000 });
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion via effects chain
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 15000 });
|
||||
|
||||
// Verify both buttons are visible
|
||||
await expect(backToPlanningButton).toBeVisible();
|
||||
|
|
@ -166,8 +172,11 @@ test.describe('Focus Mode - Break Controls (Issue #5995)', () => {
|
|||
await expect(completeSessionButton).toBeVisible({ timeout: 20000 });
|
||||
await completeSessionButton.click();
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 10000 });
|
||||
// Wait for session-done transition to complete before checking for break
|
||||
await expect(completeSessionButton).not.toBeVisible({ timeout: 10000 });
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion via effects chain
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 15000 });
|
||||
|
||||
// Skip the break
|
||||
await skipBreakButton.click();
|
||||
|
|
@ -213,8 +222,11 @@ test.describe('Focus Mode - Break Controls (Issue #5995)', () => {
|
|||
await expect(completeSessionButton).toBeVisible({ timeout: 20000 });
|
||||
await completeSessionButton.click();
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 10000 });
|
||||
// Wait for session-done transition to complete before checking for break
|
||||
await expect(completeSessionButton).not.toBeVisible({ timeout: 10000 });
|
||||
|
||||
// In Pomodoro mode, break auto-starts after session completion via effects chain
|
||||
await expect(focusModeBreak).toBeVisible({ timeout: 15000 });
|
||||
|
||||
// Click Back to Planning
|
||||
await backToPlanningButton.click();
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ test.describe('Take-a-Break Feature', () => {
|
|||
|
||||
// Navigate to settings page where break settings live
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
// Verify we're on the settings page
|
||||
await expect(page).toHaveURL(/config/);
|
||||
|
|
@ -29,7 +28,6 @@ test.describe('Take-a-Break Feature', () => {
|
|||
|
||||
// Navigate to settings
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
// Verify the settings page loaded with sections
|
||||
await expect(page.locator('.page-settings')).toBeVisible();
|
||||
|
|
@ -45,7 +43,6 @@ test.describe('Take-a-Break Feature', () => {
|
|||
|
||||
// Navigate to settings
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
// Verify settings page loaded
|
||||
await expect(page.locator('.page-settings').first()).toBeVisible();
|
||||
|
|
@ -63,16 +60,14 @@ test.describe('Take-a-Break Feature', () => {
|
|||
|
||||
// Navigate to settings
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
await expect(page.locator('.page-settings').first()).toBeVisible();
|
||||
|
||||
// Navigate away
|
||||
await page.goto('/#/tag/TODAY');
|
||||
await page.waitForLoadState('networkidle');
|
||||
await expect(page.locator('task-list').first()).toBeVisible();
|
||||
|
||||
// Navigate back to settings
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
// Settings should still be accessible (use first() to avoid animation duplicates)
|
||||
await expect(page.locator('.page-settings').first()).toBeVisible();
|
||||
|
|
@ -83,7 +78,6 @@ test.describe('Take-a-Break Feature', () => {
|
|||
|
||||
// Navigate to settings
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
await expect(page.locator('.page-settings')).toBeVisible();
|
||||
|
||||
|
|
@ -108,12 +102,10 @@ test.describe('Take-a-Break Feature', () => {
|
|||
|
||||
// Navigate to settings
|
||||
await page.goto('/#/config');
|
||||
await page.waitForLoadState('networkidle');
|
||||
await expect(page.locator('.page-settings')).toBeVisible();
|
||||
|
||||
// Navigate back to work view
|
||||
await page.goto('/#/tag/TODAY');
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
// Verify we're back at work view
|
||||
await expect(page).toHaveURL(/tag\/TODAY/);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue