ecamp / ecamp3

eCamp v3 is a web-based app for camp and course planning. The application is specialized for camps and courses of youth associations and for Y+S offers in the sport of camp sports/trekking.
https://ecamp3.ch
GNU Affero General Public License v3.0
111 stars 49 forks source link

Analyse e2e test errors #5322

Open BacLuc opened 3 months ago

BacLuc commented 3 months ago

Here is an issue to analyze the failing e2e tests. The different error manifestations should be in a separate heading.

Login Fails for test that /camps endpoint is not cached:

  HTTP cache tests
    ✓ caches /content_types separately for each login (1709ms)
    ✓ caches /content_types/318e064ea0c9 (853ms)
    ✓ caches /camp/{campId}/categories separately for each login (1728ms)
    ✓ invalidates /camp/{campId}/categories for all users on category patch (2847ms)
    ✓ invalidates /camp/{campId}/categories for new contentNode child (1749ms)
    ✓ invalidates /camp/{campId}/categories for new category (1763ms)
    ✓ invalidates cached data when user leaves a camp (9173ms)
    1) doesn't cache /camps

  7 passing (50s)
  1 failing

  1) HTTP cache tests
       doesn't cache /camps:
     CypressError: `cy.request()` timed out waiting `30000ms` for a response from your server.

The request we sent was:

Method: POST
URL: http://localhost:3000/api/authentication_token

No response was received within the timeout.

This error occurred while creating the session. Because the session setup failed, we failed the test.

In build:

here it breaks one test earlier:

Request aborted in httpCache.cy.js

  Running:  httpCache.cy.js                                                                 (2 of 5)

  HTTP cache tests
    ✓ caches /content_types separately for each login (1619ms)
    ✓ caches /content_types/318e064ea0c9 (816ms)
    ✓ caches /camp/{campId}/categories separately for each login (1642ms)
    ✓ invalidates /camp/{campId}/categories for all users on category patch (2659ms)
    ✓ invalidates /camp/{campId}/categories for new contentNode child (1640ms)
    ✓ invalidates /camp/{campId}/categories for new category (1611ms)
    1) invalidates cached data when user leaves a camp
    ✓ doesn't cache /camps (833ms)

  7 passing (18s)
  1 failing

  1) HTTP cache tests
       invalidates cached data when user leaves a camp:
     AxiosError: The following error originated from your application code, not from Cypress. It was caused by an unhandled promise rejection.

  > Error trying to patch "/camp_collaborations/c88fd78c90ea": Request aborted

When Cypress detects uncaught errors originating from your application it will automatically fail the current test.

This behavior is configurable, and you can choose to turn this off by listening to the `uncaught:exception` event.

https://on.cypress.io/uncaught-exception-from-application
  at Pe (http://localhost:3000/assets/index-jnqw9BCe.js:66:32279)
  at oae</</f.onabort (http://localhost:3000/assets/index-jnqw9BCe.js:68:6148)

In builds:

Dashboard tests fail

The filters in the dashboard
    ✓ can be shared via url (10416ms)
    1) are removed from the url when removed in the gui
    2) "before each" hook for "support selecting activities without responsibles"

  1 passing (30s)
  2 failing

  1) The filters in the dashboard
       are removed from the url when removed in the gui:
     AssertionError: Timed out retrying after 8000ms: Expected to find element: `span.v-chip:contains("Kategorie")`, but never found it.
      at  (webpack://@ecamp3/e2e/./specs/persistDashboardFilter.cy.js:58:48)
      at __webpack_modules__</setRunnable/runnable.fn (http://localhost:3000/__cypress/runner/cypress_runner.js:138291:43)
      at callFn (http://localhost:3000/__cypress/runner/cypress_runner.js:156911:21)
      at __webpack_modules__</Runnable.prototype.run (http://localhost:3000/__cypress/runner/cypress_runner.js:156898:13)
      at __webpack_modules__</create/onRunnableRun (http://localhost:3000/__cypress/runner/cypress_runner.js:162822:30)
      at finallyHandler (http://localhost:3000/__cypress/runner/cypress_runner.js:4072:23)
      at tryCatcher (http://localhost:3000/__cypress/runner/cypress_runner.js:1807:23)
      at __webpack_modules__</module.exports/Promise.prototype._settlePromiseFromHandler (http://localhost:3000/__cypress/runner/cypress_runner.js:1519:31)
      at __webpack_modules__</module.exports/Promise.prototype._settlePromise (http://localhost:3000/__cypress/runner/cypress_runner.js:1576:18)
      at __webpack_modules__</module.exports/Promise.prototype._settlePromise0 (http://localhost:3000/__cypress/runner/cypress_runner.js:1621:10)
      at __webpack_modules__</module.exports/Promise.prototype._settlePromises (http://localhost:3000/__cypress/runner/cypress_runner.js:1701:18)
      at _drainQueueStep (http://localhost:3000/__cypress/runner/cypress_runner.js:2407:12)
      at _drainQueue (http://localhost:3000/__cypress/runner/cypress_runner.js:2400:24)
      at __webpack_modules__</Async.prototype._drainQueues (http://localhost:3000/__cypress/runner/cypress_runner.js:2416:16)
      at __webpack_modules__</Async/this.drainQueues (http://localhost:3000/__cypress/runner/cypress_runner.js:[228](https://github.com/ecamp/ecamp3/actions/runs/9411760018/job/25925565910#step:9:229)6:14)

  2) The filters in the dashboard
       "before each" hook for "support selecting activities without responsibles":
     CypressError: `cy.visit()` failed trying to load:

http://localhost:3000/camps

We attempted to make an http request to this URL but the request failed without a response.

We received this error at the network level:

  > Error: connect ECONNREFUSED 127.0.0.1:3000

Common situations why this would fail:
  - you don't have internet access
  - you forgot to run / boot your web server
  - your web server isn't accessible
  - you have weird network configuration settings on your computer

In build:

Could not connect to firefox

/usr/local/bin/npm ci

added 260 packages, and audited 261 packages in 5s

64 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
/usr/local/bin/npx cypress cache list
┌─────────┬───────────────────┐
│ version │ last used         │
├─────────┼───────────────────┤
│ 13.9.0  │ a few seconds ago │
└─────────┴───────────────────┘
waiting on "http://localhost:3000, http://localhost:3000/api, http://localhost:3000/print/health" with timeout of 300 seconds

DevTools listening on ws://127.0.0.1:40897/devtools/browser/23a74962-8959-4f99-940f-ceb9de59e1c0

====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        13.9.0                                                                         │
  │ Browser:        Firefox 126 (headless)                                                         │
  │ Node Version:   v16.[20](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:21).2 (/home/runner/runners/2.316.1/externals/node16/bin/node)              │
  │ Specs:          4 found (clientPrint.cy.js, login.cy.js, nuxtPrint.cy.js, persistDashboardFilt │
  │                 er.cy.js)                                                                      │
  │ Searched:       specs/**/*.cy.{js,jsx,ts,tsx}                                                  │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

────────────────────────────────────────────────────────────────────────────────────────────────────

  Running:  clientPrint.cy.js                                                               (1 of 4)
Still waiting to connect to Firefox, retrying in 1 second (attempt 18/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 18/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 19/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 19/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 20/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 20/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [21](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:22)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 21/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [22](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:23)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 22/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [23](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:24)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 23/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [24](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:25)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 24/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [25](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:26)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 25/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [26](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:27)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 26/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [27](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:28)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 27/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [28](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:29)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 28/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [29](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:30)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 29/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [30](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:31)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 30/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [31](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:32)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 31/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [32](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:33)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 32/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [33](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:34)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 33/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [34](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:35)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 34/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [35](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:36)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 35/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [36](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:37)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 36/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [37](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:38)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 37/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [38](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:39)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 38/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [39](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:40)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 39/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt [40](https://github.com/ecamp/ecamp3/actions/runs/9145115546/job/25143724510#step:9:41)/62)
Still waiting to connect to Firefox, retrying in 1 second (attempt 40/62)

in builds:

Login test fails

  Running:  login.cy.js                                                                     (2 of 4)

  Login test
    1) displays the login page
    ✓ can login with default user (3271ms)

  1 passing (12s)
  1 failing

  1) Login test
       displays the login page:
     AssertionError: Timed out retrying after 8000ms: Expected to find content: 'Login' but never did.

In builds:

manuelmeister commented 3 months ago

Apparently they run firefox with user 1001: https://github.com/cypress-io/cypress-docker-images#firefox-not-found