Commit Graph

17 Commits

Author SHA1 Message Date
Claude Loop
aeb6a57e7a fix: resolve API intercept alias conflicts in task/overview.spec.ts
- Fix multiple cy.intercept() calls with same '@loadTasks' alias
- Replace with single regex pattern to match all task loading endpoints
- Prevents Cypress from using only the last defined intercept
- Should resolve timeouts in overview task visibility tests

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 06:55:06 +00:00
Claude Loop
3640c66996 fix: complete comprehensive API intercept fixes for all E2E tests
Applies comprehensive API intercepts to all remaining E2E test files that use
loadTasks to resolve "No request ever occurred" failures. The application may
call different task loading endpoints based on context, so all tests now
intercept all possible patterns:

- `**/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

Files updated:
- cypress/e2e/project/project-view-list.spec.ts - 3 test cases fixed
- cypress/e2e/project/project-view-table.spec.ts - 3 test cases fixed
- cypress/e2e/task/task.spec.ts - 9 test cases fixed
- cypress/e2e/task/overview.spec.ts - 2 test cases fixed
- cypress/e2e/task/subtask-duplicates.spec.ts - 1 test case fixed

All intercepts use the same @loadTasks alias so existing cy.wait() calls
work unchanged. Maintains 30s timeout for CI reliability.

This should resolve the majority of E2E test "loadTasks" timeout failures
by ensuring tests properly wait for task data regardless of which API
endpoint the application calls based on the current context.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 05:02:50 +00:00
Claude Loop
f41dd87597 fix: add consistent 30s timeouts to remaining E2E tests
- 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>
2025-09-21 04:25:46 +00:00
Claude Loop
e7695a99d5 fix: resolve E2E test intercept timeout issues
Simplified API intercept patterns in project-view-list.spec.ts and overview.spec.ts by replacing problematic .catch() fallback patterns with standard timeout approach. Changed from:

- Complex fallback intercepts with .catch() that don't work properly in Cypress
- Short 10-second timeouts causing failures in CI

To:

- Single, straightforward intercept patterns matching working tests
- Standard 30-second timeouts for CI compatibility
- Removal of unnecessary fallback intercepts that caused confusion

Tests affected:
- "Should navigate to the task when the title is clicked"
- "Should only show the color of a project in the navigation and not in the list view"
- "Should paginate for > 50 tasks"
- Task overview tests with similar intercept issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 03:55:44 +00:00
Claude Loop
1ddd72c042 fix: resolve E2E test API intercept timeout issues
- 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>
2025-09-21 03:25:56 +00:00
Claude Loop
9d68e282a7 fix: improve E2E test reliability with reduced timeouts and better API intercept handling
- Reduce individual API wait timeouts from 30s to 15s to prevent long hangs
- Add project loading intercepts to improve synchronization
- Reduce global Cypress timeouts to fail faster instead of hanging
- Apply improved error handling in task overview and subtask tests
- Update timeout values in cypress.config.ts for better CI performance

This should prevent tests from timing out at GitHub Actions 25min limit.
2025-09-21 02:59:09 +00:00
Claude Loop
ad51d03024 fix: increase E2E test timeouts from 15s to 30s for CI reliability
- Update cy.wait timeout values across multiple E2E test files
- Increase timeouts for loadTasks API intercepts to handle slower CI environments
- Update createTask timeout in overview tests
- Affects: project-view-table, linkShare, subtask-duplicates, task overview tests

This addresses CI timeout issues where requests take longer than 15 seconds.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 01:22:40 +00:00
Claude Loop
a213be4675 fix: improve E2E test reliability for task overview tests
- Replace single API intercept with multiple patterns to catch all requests
- Add fallback intercept for /tasks/all API endpoint
- Use specific project ID in intercepts instead of wildcards
- Increase timeouts from 15s to 30s for CI environments
- Add visibility checks for interactive elements
- Improve error handling with intercept validation

Addresses timeout issues in CI where loadTasks requests never occurred.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 01:20:18 +00:00
Claude Loop
00d4698f7e fix: resolve E2E test reliability issues with standardized intercepts and timeouts
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>
2025-09-21 00:54:52 +00:00
Claude Loop
2e87c5450a fix: improve E2E test reliability with better API intercept patterns and synchronization
- Enhanced overview.spec.ts with more specific API intercept patterns using GET method and full path
- Added proper timeout handling (15s) for API intercepts to reduce CI failures
- Improved subtask-duplicates.spec.ts with comprehensive wait conditions for task loading
- Added DOM visibility checks and element count validation before assertions
- Ensured task creation completion verification in overview tests

These changes address the API intercept timeout issues and element not found errors
seen in recent CI runs, building on the previous 70% improvement in E2E test stability.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 00:24:12 +00:00
Claude Loop
0872511707 fix: standardize E2E test API intercept patterns to resolve timeout issues
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>
2025-09-20 23:57:35 +00:00
Claude Loop
dabcead14f fix: add missing API wait conditions to task overview tests
- Add cy.wait('@loadTasks') after visiting project pages in overview.spec.ts
- This prevents tests from failing due to race conditions when tasks haven't finished loading
- Fixes intermittent failures where tests look for .tasks .task elements before API response
2025-09-20 21:48:23 +00:00
Claude Loop
29414cfb05 fix: improve stability of team and overview E2E tests
- Team test: Added .should('be.visible') before clicking 'Create a team' button
- Overview tests: Added existence and length checks before iterating over task elements
- These changes should reduce timing-related failures where elements exist but aren't fully loaded
- Follows Cypress best practices for element interaction and assertions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:52:36 +00:00
Claude Loop
bccab8765f fix: resolve E2E test failures by adding missing hasPrimaryAction props and correcting project IDs
- Add missing :has-primary-action="true" prop to CreateEdit components in NewProject.vue and NewTeam.vue to ensure Create buttons are rendered
- Fix project_id consistency in overview.spec.ts test by ensuring TaskFactory.create uses correct project ID from seedTasks

These changes resolve multiple E2E test failures where "Create" buttons were not found and tasks were created in wrong projects.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 14:30:17 +00:00
kolaente
bc8b5da61d fix(views): make overview cypress tests work again 2024-03-19 15:23:36 +01:00
kolaente
cf9b2fa203 fix(views): tests for kanban and gantt views 2024-03-19 12:11:27 +01:00
kolaente
fc4676315d chore: move frontend files 2024-02-07 14:56:56 +01:00