Commit Graph

39 Commits

Author SHA1 Message Date
Claude Loop
d4b3df9d01 fix: update remaining E2E test timeouts to 30s for improved CI reliability
- 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>
2025-09-21 01:52:43 +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
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
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
b768dc51ba fix: enhance E2E test reliability for authentication, sharing, and table views
- Improved login tests with better visibility checks and API intercepts
- Enhanced linkShare tests with explicit task loading waits and timeouts
- Strengthened table view tests with extended timeouts and proper element visibility
- Added consistent API intercepts for task loading across all affected tests
- Enhanced error handling and retry logic for flaky operations

These changes specifically target the problematic test files identified in
the CI failures: authentication flows, link sharing functionality, and
table view interactions.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 23:00:05 +00:00
Claude Loop
a3f3f8eb60 fix: improve E2E test stability and performance
- 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>
2025-09-20 22:57:33 +00:00
Claude Loop
c3353e8641 feat: optimize E2E test performance and reliability
- 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>
2025-09-20 22:30:01 +00:00
Claude Loop
5813ebcc94 fix: add missing API wait conditions to project list view tests
- Add cy.wait('@loadTasks') after visiting project pages in project-view-list.spec.ts
- Fixes race conditions where tests check for .tasks .task elements before API responses
- Prevents timeouts on 'Should navigate to the task when the title is clicked' and other tests
- Ensures consistent DOM state before assertions
2025-09-20 21:55:44 +00:00
Claude Loop
69b0392816 fix: improve E2E test stability for Link Share and Table View tests
- Fix Link Share tests timing issues by adding proper wait conditions and visibility checks
- Fix Table View tests by adding API intercepts and improving element selection
- Add .should('be.visible') checks to prevent race conditions
- Use more specific selectors like 'table.table tbody' for better reliability
- Ensure tests wait for redirects and content loading before assertions

These changes should resolve the timeout issues that were causing CI jobs to hang
for 20+ minutes by ensuring proper synchronization between test steps.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 19:59:38 +00:00
Claude Loop
1c7e80c8fb fix: add API request interception to table view E2E tests
- Added cy.intercept for /projects/1/views/3/tasks** API calls
- Added cy.wait('@loadTasks') to ensure tasks are loaded before assertions
- This should help diagnose and fix timing issues with table view tests
- Follows similar pattern used in other working E2E tests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:50:26 +00:00
Claude Loop
6629d69706 fix: ensure explicit project_id in table view E2E tests
- Added explicit project_id: 1 to TaskFactory.create() calls in table view tests
- Ensures tasks are properly associated with the correct project for table view testing
- Follows same pattern as working list view tests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:48:34 +00:00
kolaente
b99ea2deb0 fix(filters): persist url filter query across views (#1482) 2025-09-11 22:12:33 +00:00
kolaente
c1ce33019c fix: set test fixture in e2e test
Fixes a regression introduced in 63b1082951
2025-08-18 11:55:55 +02:00
kolaente
a81a3ee0e5 feat!: rename right to permission (#1277) 2025-08-13 11:05:05 +02:00
kolaente
5fc255cb36 feat(gantt): rebuild the gantt chart (#1001) 2025-08-12 16:33:50 +02:00
kolaente
9e3a1f1800 fix(test): formatting 2025-06-24 12:48:47 +02:00
kolaente
842a71019d fix(view): add unique index for task buckets (#1005) 2025-06-24 10:45:17 +00:00
Dominik Pschenitschni
5b9d4fcc72 chore: add missing eof newlines (#969) 2025-06-17 09:11:32 +00:00
Dominik Pschenitschni
4937127898 fix: cypress selector (#753) 2025-05-13 10:51:11 +00:00
kolaente
021d71b90e fix: remove date-fns (#3039)
This removes date-fns and replaces it with the already used dayjs library. It does not make sense to have two libraries for the same purpose, and dayjs seems to be smaller and its translations are already integrated. Since we have to use dayjs because it is used by the gantt chart, this was the obvious way to go (instead of replacing dayjs with date-fns).

Resolves https://github.com/go-vikunja/vikunja/issues/391

Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/3039
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2025-02-21 15:42:58 +00:00
Dominik Pschenitschni
b579041185 fix(test): wait for project to be loaded
fixes flaky test
2024-12-13 14:43:18 +01:00
kolaente
3ce477e1d1 fix(test): use correct selector for modal header 2024-09-29 14:16:43 +02:00
Dominik Pschenitschni
af639a180c fix: wrapped button
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…
2024-07-10 09:19:55 +00:00
Dominik Pschenitschni
66be016a7f feat: improve gantt filter label 2024-06-20 13:03:45 +00:00
Dominik Pschenitschni
541f608d3c feat(components): align component name casing fancycheckbox 2024-06-17 13:09:34 +02:00
kolaente
2e298ffc11 fix(i18n): adjust tests from 34780daab0 2024-05-24 15:05:09 +02:00
kolaente
d082c0399d fix(test): visit one more project in project history test 2024-04-07 22:36:09 +02:00
kolaente
1558921f42 fix(test): use correct selector in Cypress test 2024-04-02 14:31:15 +02:00
kolaente
9f89fbe5a6 fix(tests): do not try to create tasks with bucket_id 2024-03-20 10:54:37 +01:00
kolaente
32e8a15f1f fix(views): create default bucket 2024-03-19 19:53:46 +01:00
kolaente
89ed71777e fix(views): create bucket in test 2024-03-19 17:57:00 +01:00
kolaente
d7b40f393e fix(views): redirect to project after authenticating with a link share 2024-03-19 17:38:33 +01:00
kolaente
b0ad087a36 fix(views): correctly save and retrieve last accessed project views 2024-03-19 14:57:16 +01:00
kolaente
b65d05ec3d fix(views): make table view cypress tests work again 2024-03-19 14:43:52 +01:00
kolaente
8206cc8767 fix(views): make list cypress tests work again 2024-03-19 14:38:52 +01:00
kolaente
53e57d524a fix(views): make kanban cypress tests work again 2024-03-19 14:21:32 +01:00
kolaente
cf9b2fa203 fix(views): tests for kanban and gantt views 2024-03-19 12:11:27 +01:00
kolaente
511c9aa824 fix(views): make tests for project history kind of work again 2024-03-19 00:47:52 +01:00
kolaente
fc4676315d chore: move frontend files 2024-02-07 14:56:56 +01:00