- Add comprehensive API intercept patterns to linkShare.spec.ts tests
- Add missing API intercepts to project.spec.ts redirect test
- Ensure intercepts are set up before any navigation that could trigger API calls
- Cover all possible task loading endpoints: /projects/*/views/*/tasks, /projects/*/tasks, /tasks/all
- Fix project.spec.ts loadBuckets alias to use correct loadTasks pattern
- Update timeout values from 15s to 30s for CI compatibility
- Ensure consistent API intercept patterns across failing tests
This addresses timeout issues where tests were waiting for API routes
that never occurred due to incorrect intercept alias names.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed loadAllTasks and loadTasks intercept logic to wait for either request (not both)
- Changed cy.wait(['@loadTasks', '@loadAllTasks']) to proper fallback pattern
- Added timeout for loadBuckets intercept in project redirect test
- Reduced timeouts to 10s for faster failure feedback and prevent CI hangs
The root issue was tests waiting for multiple API calls when only one would ever occur.
This caused cy.wait() to timeout as it waited indefinitely for requests that would never happen.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit fixes several critical issues causing E2E test failures and timeouts:
**Authentication fixes:**
- Remove cross-spec session caching to prevent state conflicts in parallel test execution
- Changed `login(user, true)` to `login(user, false)` in createFakeUserAndLogin()
**API intercept standardization:**
- Standardized all API intercept patterns to use `/api/v1/` prefix consistently
- Fixed mixed patterns: `**/projects/*/views/*/tasks**` → `**/api/v1/projects/*/views/*/tasks**`
- Added explicit GET/PUT method specifications to prevent intercept misses
**Timeout reduction:**
- Reduced excessive timeouts from 60-120s to 30-60s in cypress.config.ts
- Reduced test-level timeouts from 30s to 15s where appropriate
- Changed defaultCommandTimeout: 60000 → 30000, requestTimeout: 120000 → 60000
**Test isolation improvements:**
- Added proper beforeEach cleanup in overview.spec.ts to prevent data leakage
- Removed redundant individual truncate() calls in favor of systematic cleanup
**Files changed:**
- cypress.config.ts: Reduced global timeout values
- cypress/support/authenticateUser.ts: Fixed cross-spec session caching
- cypress/e2e/project/*.spec.ts: Standardized intercept patterns, reduced timeouts
- cypress/e2e/task/*.spec.ts: Added cleanup hooks, standardized intercepts
- cypress/e2e/sharing/linkShare.spec.ts: Fixed intercept patterns and timeouts
These changes address the root causes of the 25-minute timeouts and "3 failed" issues
seen in CI, improving test reliability and execution speed.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace inconsistent Cypress.env('API_URL') + path patterns with wildcard
patterns (**/path) for improved reliability in CI environments.
Issues addressed:
- API intercept timeouts for loadTasks and loadBuckets routes
- Inconsistent URL matching causing cy.wait() failures
- Environment variable dependency reducing test reliability
Changes made:
- project-view-table.spec.ts: All 3 tests now use wildcard patterns
- project-view-list.spec.ts: Updated static and dynamic project patterns
- project-view-kanban.spec.ts: Standardized 3 loadTasks intercepts
- project.spec.ts: Fixed loadBuckets wildcard pattern
- task/overview.spec.ts: Updated dynamic project ID patterns
Expected impact: Reduced E2E test timeout failures in CI environment.
All lint, typecheck, and unit tests (690/690) continue to pass.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>