From ad1a5f9b5c7427359d9614cc9c5773bfdd80d145 Mon Sep 17 00:00:00 2001 From: kolaente Date: Fri, 12 Dec 2025 21:07:18 +0100 Subject: [PATCH] chore(tests): remove Cypress, use Playwright exclusively (#1976) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Removes Cypress test framework entirely, using only Playwright for E2E tests - All Cypress tests were already covered by Playwright; added 2 missing tests for URL filter/search parameters - Removes ~2000 lines of Cypress code and configuration - Updated ESLint and Stylelint configurations to reflect testing changes 🐰 Farewell to Cypress, dear and bright, We hop to Playwright's testing light, Factories cleared, the config gone, Our tests now march in Playwright's song! ~✨ The Testing Rabbit --- .github/workflows/test.yml | 63 -- frontend/.gitignore | 2 - frontend/.npmrc | 4 - frontend/.stylelintrc.json | 1 - frontend/cypress.config.ts | 28 - frontend/cypress/README.md | 48 - frontend/cypress/docker-compose.yml | 15 - .../cypress/e2e/project/prepareProjects.ts | 61 -- .../e2e/project/project-view-list.spec.ts | 58 -- frontend/cypress/e2e/task/overview.spec.ts | 109 -- frontend/cypress/e2e/tsconfig.json | 11 - frontend/cypress/e2e/user/login.spec.ts | 53 - frontend/cypress/e2e/user/settings.spec.ts | 43 - frontend/cypress/factories/bucket.ts | 19 - frontend/cypress/factories/label_task.ts | 16 - frontend/cypress/factories/labels.ts | 21 - frontend/cypress/factories/link_sharing.ts | 21 - frontend/cypress/factories/project.ts | 26 - frontend/cypress/factories/project_view.ts | 19 - frontend/cypress/factories/task.ts | 21 - frontend/cypress/factories/task_assignee.ts | 16 - .../cypress/factories/task_attachments.ts | 16 - frontend/cypress/factories/task_buckets.ts | 13 - frontend/cypress/factories/task_comment.ts | 20 - frontend/cypress/factories/task_relation.ts | 18 - frontend/cypress/factories/task_reminders.ts | 18 - frontend/cypress/factories/team.ts | 17 - frontend/cypress/factories/team_member.ts | 14 - frontend/cypress/factories/token.ts | 29 - frontend/cypress/factories/user.ts | 33 - frontend/cypress/factories/users_project.ts | 18 - frontend/cypress/fixtures/image.jpg | Bin 892746 -> 0 bytes frontend/cypress/support/authenticateUser.ts | 39 - frontend/cypress/support/commands.ts | 61 -- frontend/cypress/support/component.index.html | 12 - frontend/cypress/support/component.ts | 29 - frontend/cypress/support/e2e.ts | 10 - frontend/cypress/support/factory.ts | 71 -- frontend/cypress/support/filterTestHelpers.ts | 119 --- frontend/cypress/support/index.d.ts | 12 - frontend/cypress/support/seed.ts | 24 - .../cypress/support/updateUserSettings.ts | 26 - frontend/env.d.ts | 1 - frontend/eslint.config.js | 10 - frontend/package.json | 12 - frontend/pnpm-lock.yaml | 973 +----------------- .../src/directives/{cypress.ts => testid.ts} | 5 +- frontend/src/histoire.setup.ts | 4 +- frontend/src/main.ts | 4 +- frontend/src/types/cypress.d.ts | 12 - .../e2e/project/project-view-list.spec.ts | 33 + frontend/tsconfig.config.json | 2 +- 52 files changed, 83 insertions(+), 2227 deletions(-) delete mode 100644 frontend/cypress.config.ts delete mode 100644 frontend/cypress/README.md delete mode 100644 frontend/cypress/docker-compose.yml delete mode 100644 frontend/cypress/e2e/project/prepareProjects.ts delete mode 100644 frontend/cypress/e2e/project/project-view-list.spec.ts delete mode 100644 frontend/cypress/e2e/task/overview.spec.ts delete mode 100644 frontend/cypress/e2e/tsconfig.json delete mode 100644 frontend/cypress/e2e/user/login.spec.ts delete mode 100644 frontend/cypress/e2e/user/settings.spec.ts delete mode 100644 frontend/cypress/factories/bucket.ts delete mode 100644 frontend/cypress/factories/label_task.ts delete mode 100644 frontend/cypress/factories/labels.ts delete mode 100644 frontend/cypress/factories/link_sharing.ts delete mode 100644 frontend/cypress/factories/project.ts delete mode 100644 frontend/cypress/factories/project_view.ts delete mode 100644 frontend/cypress/factories/task.ts delete mode 100644 frontend/cypress/factories/task_assignee.ts delete mode 100644 frontend/cypress/factories/task_attachments.ts delete mode 100644 frontend/cypress/factories/task_buckets.ts delete mode 100644 frontend/cypress/factories/task_comment.ts delete mode 100644 frontend/cypress/factories/task_relation.ts delete mode 100644 frontend/cypress/factories/task_reminders.ts delete mode 100644 frontend/cypress/factories/team.ts delete mode 100644 frontend/cypress/factories/team_member.ts delete mode 100644 frontend/cypress/factories/token.ts delete mode 100644 frontend/cypress/factories/user.ts delete mode 100644 frontend/cypress/factories/users_project.ts delete mode 100644 frontend/cypress/fixtures/image.jpg delete mode 100644 frontend/cypress/support/authenticateUser.ts delete mode 100644 frontend/cypress/support/commands.ts delete mode 100644 frontend/cypress/support/component.index.html delete mode 100644 frontend/cypress/support/component.ts delete mode 100644 frontend/cypress/support/e2e.ts delete mode 100644 frontend/cypress/support/factory.ts delete mode 100644 frontend/cypress/support/filterTestHelpers.ts delete mode 100644 frontend/cypress/support/index.d.ts delete mode 100644 frontend/cypress/support/seed.ts delete mode 100644 frontend/cypress/support/updateUserSettings.ts rename frontend/src/directives/{cypress.ts => testid.ts} (85%) delete mode 100644 frontend/src/types/cypress.d.ts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dd71a588e..38b1d8c86 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -422,66 +422,3 @@ jobs: name: playwright-test-results-${{ matrix.shard }} path: frontend/test-results/ retention-days: 30 - - test-frontend-e2e-cypress: - runs-on: ubuntu-latest - needs: - - api-build - - frontend-build - services: - dex: - image: ghcr.io/go-vikunja/dex-testing:main@sha256:d401c06a9f8fd36ece446a07499b827232af7f21eb36872a76c9eac4d0c77bab - ports: - - 5556:5556 - container: - image: cypress/browsers:latest@sha256:c03803eed8a1c80a1cfe38672e8c6f661439fcff5cfa2c5ed424ffa502b0b0a1 - options: --user 1001 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - - name: Download Vikunja Binary - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7 - with: - name: vikunja_bin - - uses: ./.github/actions/setup-frontend - with: - install-e2e-binaries: true - - name: Download Frontend - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7 - with: - name: frontend_dist - path: ./frontend/dist - - name: Inject testing flag into index.html - run: | - sed -i 's//