Files
vikunja/frontend/cypress
Claude Loop 8a4e43fb96 fix: add loading state waits to navigation and task interaction tests
- Add loading state waits to 'Marks a task as done' test
- Add loading state waits to navigation tests:
  - 'provides back navigation to the project in the list view'
  - 'provides back navigation to the project in the table view'
  - 'provides back navigation to the project in the kanban view on mobile'
  - 'does not provide back navigation to the project in the kanban view on desktop'
- These fixes prevent CypressError where task elements have CSS pointer-events: none
- All tests now wait for .is-loading class removal before attempting element interactions
- Comprehensive coverage of task interaction patterns that were causing CI failures

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 07:27:28 +00:00
..
2024-02-07 14:56:56 +01:00
2025-06-10 12:10:42 +02:00

Frontend Testing With Cypress

Setup

  • Enable the seeder api endpoint. You'll then need to add the testingtoken in cypress.json or set the CYPRESS_TEST_SECRET environment variable.
  • Basic configuration happens in the cypress.json file
  • Overridable with env
  • Override base url with CYPRESS_BASE_URL

Fixtures

We're using the test endpoint of the vikunja api to seed the database with test data before running the tests. This ensures better reproducibility of tests.

Running The Tests Locally

Using Docker

The easiest way to run all frontend tests locally is by using the docker-compose file in this repository. It uses the same configuration as the CI.

To use it, run

docker-compose up -d

Then, once all containers are started, run

docker-compose run cypress bash

to get a shell inside the cypress container. In that shell you can then execute the tests with

pnpm run test:e2e

Using The Cypress Dashboard

To open the Cypress Dashboard and run tests from there, run

pnpm run test:e2e:dev