Fixes E2E test failures caused by missing API intercepts for task loading routes.
The tests were expecting `**/api/v1/projects/*/views/*/tasks**` but the application
may call different endpoints based on context:
- `**/api/v1/projects/*/views/*/tasks**` - When viewId is provided
- `**/api/v1/projects/*/tasks**` - When viewId is missing (fallback)
- `**/api/v1/tasks/all**` - When projectId is null/undefined
Changes:
- Updated project-view-kanban.spec.ts with multiple intercept patterns
- Updated sharing/linkShare.spec.ts with multiple intercept patterns
- All intercepts use the same @loadTasks alias so cy.wait() calls work unchanged
- Maintains 30s timeout for CI reliability
This should resolve "No request ever occurred" errors and allow tests to properly
wait for task data to load regardless of which API endpoint is called.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update kanban test loadTasks waits to use 30s timeout
- Fix overview.spec.ts createTask timeout from 15s to 30s
- Ensures consistent timeout handling across all E2E tests for CI stability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix remaining 15s timeouts in project-view-table.spec.ts
- Update 5s timeout to 30s in project-view-kanban.spec.ts
- Ensures consistent timeout handling across all E2E tests for CI stability
🤖 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>
- Increased Cypress timeouts: defaultCommandTimeout to 60s, requestTimeout to 120s
- Added responseTimeout and pageLoadTimeout (120s each) for slow CI environments
- Enhanced task creation and management tests with proper API intercepts and waits
- Added visibility checks before interactions to prevent race conditions
- Improved drag-and-drop test stability with explicit API waits and force option
- Enhanced image upload test with longer timeouts for CI environments
- Added proper API loading waits for kanban view tests
These changes address timeout issues in CI by providing more time for operations
to complete and ensuring proper sequencing of test actions.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Increase GitHub Actions E2E timeout from 20 to 25 minutes
- Reduce CYPRESS_DEFAULT_COMMAND_TIMEOUT from 60s to 30s for faster failures
- Replace hard-coded waits with proper API intercepts for better reliability:
- Add @createTask intercept for task creation (task.spec.ts)
- Add @createBucket intercept for bucket creation (kanban.spec.ts)
- Reduce unnecessary 1000ms wait to 500ms in logout test
- Improve test performance while maintaining stability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This somehow weirdly fixes the test. I have no clue why. Regardless it should be better than before, because a button (DropdownItem) should never contain another interactive element (the setBucketLimit input and save button).
The test failed because I replaced a v-if with v-show. I do not know _why_ this made the test fail. When I reproduced the test step by step it worked for me…