From 1248c2b80d1ec89ba55c46ecfff5133196ba3c16 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 15:53:57 +0100 Subject: [PATCH 01/36] Testing NextJS Cache --- .github/workflows/cache.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/cache.yml diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml new file mode 100644 index 000000000..d450daf01 --- /dev/null +++ b/.github/workflows/cache.yml @@ -0,0 +1,13 @@ +- name: Get Yarn cache directory path + id: yarn-cache-dir-path + run: echo "dir=$(yarn cache dir)" >> $GITHUB_ENV + +- uses: actions/cache@v3 + with: + path: | + ${{ env.dir }} + ${{ github.workspace }}/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- + ${{ runner.os }}-nextjs- From f9959d333bb049c5a09ee25963f1290eb6a00f4f Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 16:51:39 +0100 Subject: [PATCH 02/36] Added a `cache` to the testing envirment --- .github/workflows/cache.yml | 13 --------- .github/workflows/test.yml | 57 +++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 13 deletions(-) delete mode 100644 .github/workflows/cache.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/cache.yml b/.github/workflows/cache.yml deleted file mode 100644 index d450daf01..000000000 --- a/.github/workflows/cache.yml +++ /dev/null @@ -1,13 +0,0 @@ -- name: Get Yarn cache directory path - id: yarn-cache-dir-path - run: echo "dir=$(yarn cache dir)" >> $GITHUB_ENV - -- uses: actions/cache@v3 - with: - path: | - ${{ env.dir }} - ${{ github.workspace }}/.next/cache - key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} - restore-keys: | - ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- - ${{ runner.os }}-nextjs- diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..2eb3bd1cd --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,57 @@ +name: Cypress Tests 2 + +on: + pull_request: + branches: [develop, main] + +jobs: + cypress-test: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + defaults: + run: + shell: bash + + - name: Setup Node 14 ... + uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: Install Yarn + run: npm install -g yarn + + - name: Get Yarn cache directory path + run: | + echo "YARN_CACHE_DIR=$(yarn cache dir)" >> $GITHUB_ENV + echo $GITHUB_ENV + + - name: Cache Dependencies ... + uses: actions/cache@v4 + with: + path: | + ${{ env.YARN_CACHE_DIR }} # Use the new variable name here + ~/.npm + ${{ github.workspace }}/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- + ${{ runner.os }}-nextjs- + + - name: Build ... + run: | + yarn install + yarn build + + - name: Cypress run + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + uses: cypress-io/github-action@v6 + with: + build: yarn build + start: yarn start + working-directory: ./packages/app From 7461450cfbb5cd647b65a0536da352268968c4a5 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 16:54:20 +0100 Subject: [PATCH 03/36] Update test.yml --- .github/workflows/test.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2eb3bd1cd..20d9111f1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -40,11 +40,6 @@ jobs: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- ${{ runner.os }}-nextjs- - - name: Build ... - run: | - yarn install - yarn build - - name: Cypress run env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} From 89a5898b0a3dd24fc03ffb1c517a10fcc9f89764 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 16:56:46 +0100 Subject: [PATCH 04/36] Added a `push` section --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 20d9111f1..26e0aa727 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,8 @@ name: Cypress Tests 2 on: + push: + branches: [develop] pull_request: branches: [develop, main] From e48802be7655f8707b6d598f1483f91481e35de2 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:01:09 +0100 Subject: [PATCH 05/36] Update test.yml --- .github/workflows/test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 26e0aa727..4cfbcbc65 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,9 +13,6 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 - defaults: - run: - shell: bash - name: Setup Node 14 ... uses: actions/setup-node@v4 From 568577b6432678c82c558d211b4093a6366cbf97 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:07:40 +0100 Subject: [PATCH 06/36] Update test.yml --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4cfbcbc65..406ef1f01 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,7 +2,7 @@ name: Cypress Tests 2 on: push: - branches: [develop] + branches: [main] pull_request: branches: [develop, main] @@ -14,7 +14,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Setup Node 14 ... + - name: Setup Node 20 ... uses: actions/setup-node@v4 with: node-version: "20" @@ -31,7 +31,7 @@ jobs: uses: actions/cache@v4 with: path: | - ${{ env.YARN_CACHE_DIR }} # Use the new variable name here + ${{ env.YARN_CACHE_DIR }} ~/.npm ${{ github.workspace }}/.next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} From 1f4aa158bdedb15554c4ce744e092a5872504687 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:12:43 +0100 Subject: [PATCH 07/36] Adding extra that should fail if there is no cahce-key --- .github/workflows/test.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 406ef1f01..44dc28c31 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ jobs: with: node-version: "20" - - name: Install Yarn + - name: Install Yarn ... run: npm install -g yarn - name: Get Yarn cache directory path @@ -39,6 +39,16 @@ jobs: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- ${{ runner.os }}-nextjs- + - name: Fail if cache not found + run: | + if [ "${{ steps.cache-dependencies.outputs.cache-hit }}" != "true" ]; then + echo "Cache not found, failing the workflow" + exit 1 + fi + id: check-cache + env: + CACHE_HIT: ${{ steps.cache-dependencies.outputs.cache-hit }} + - name: Cypress run env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} From 53101c2f40195f81f17274607f5ee82870903997 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:21:31 +0100 Subject: [PATCH 08/36] Rewrote the file --- .github/workflows/test.yml | 59 ++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 44dc28c31..249ac92e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,15 +1,13 @@ -name: Cypress Tests 2 +name: Cypress Tests with Dependency and Artifact Caching on: push: - branches: [main] pull_request: branches: [develop, main] jobs: - cypress-test: - runs-on: ubuntu-latest - + install: + runs-on: ubuntu-22.04 steps: - name: Checkout repository uses: actions/checkout@v4 @@ -19,35 +17,34 @@ jobs: with: node-version: "20" - - name: Install Yarn ... + - name: Install yarn... run: npm install -g yarn - - name: Get Yarn cache directory path - run: | - echo "YARN_CACHE_DIR=$(yarn cache dir)" >> $GITHUB_ENV - echo $GITHUB_ENV + - name: Cypress install + uses: cypress-io/github-action@v6 + with: + runTests: false + build: yarn build - - name: Cache Dependencies ... - uses: actions/cache@v4 + - name: Save build folder + uses: actions/upload-artifact@v4 with: - path: | - ${{ env.YARN_CACHE_DIR }} - ~/.npm - ${{ github.workspace }}/.next/cache - key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }} - restore-keys: | - ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- - ${{ runner.os }}-nextjs- - - - name: Fail if cache not found - run: | - if [ "${{ steps.cache-dependencies.outputs.cache-hit }}" != "true" ]; then - echo "Cache not found, failing the workflow" - exit 1 - fi - id: check-cache - env: - CACHE_HIT: ${{ steps.cache-dependencies.outputs.cache-hit }} + name: build + if-no-files-found: error + path: build + + cypress-run: + runs-on: ubuntu-22.04 + needs: install + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download the build folder + uses: actions/download-artifact@v4 + with: + name: build + path: build - name: Cypress run env: @@ -56,6 +53,6 @@ jobs: SESSION_SECRET: ${{ secrets.SESSION_SECRET }} uses: cypress-io/github-action@v6 with: - build: yarn build start: yarn start + browser: chrome working-directory: ./packages/app From adf92ed8f7f3707ffde59f7f9db2d298ec1e5320 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:31:08 +0100 Subject: [PATCH 09/36] Update test.yml --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 249ac92e6..ab13f1529 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,6 +2,7 @@ name: Cypress Tests with Dependency and Artifact Caching on: push: + branches: [main] pull_request: branches: [develop, main] @@ -20,6 +21,9 @@ jobs: - name: Install yarn... run: npm install -g yarn + - name: Yarn intsall... + run: yarn + - name: Cypress install uses: cypress-io/github-action@v6 with: From 893d309a62e34dddb2bd844d4a6878eb92130d63 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:35:34 +0100 Subject: [PATCH 10/36] Update test.yml --- .github/workflows/test.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ab13f1529..085563825 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,13 +19,16 @@ jobs: node-version: "20" - name: Install yarn... - run: npm install -g yarn - - - name: Yarn intsall... - run: yarn + run: | + npm install -g yarn + yarn - name: Cypress install uses: cypress-io/github-action@v6 + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} with: runTests: false build: yarn build From e16245cbe0e4eb0ec0cad848fe16eae445cb8394 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:45:35 +0100 Subject: [PATCH 11/36] Update test.yml --- .github/workflows/test.yml | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 085563825..bcd509ad4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,27 +18,20 @@ jobs: with: node-version: "20" - - name: Install yarn... + - name: Install yarn and dependencies run: | npm install -g yarn - yarn + yarn install - - name: Cypress install - uses: cypress-io/github-action@v6 - env: - NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} - NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} - SESSION_SECRET: ${{ secrets.SESSION_SECRET }} - with: - runTests: false - build: yarn build + - name: Build project + run: yarn build - - name: Save build folder + - name: Save .next directory uses: actions/upload-artifact@v4 with: - name: build + name: next-artifact if-no-files-found: error - path: build + path: .next cypress-run: runs-on: ubuntu-22.04 @@ -47,11 +40,16 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Download the build folder + - name: Download the .next directory uses: actions/download-artifact@v4 with: - name: build - path: build + name: next-artifact + path: .next + + - name: Install dependencies + run: | + npm install -g yarn + yarn install - name: Cypress run env: From 76546622ba125c3e2ba639183dfd85d394af1089 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 17:53:00 +0100 Subject: [PATCH 12/36] Update test.yml --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bcd509ad4..b4be9c9d1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,6 +24,10 @@ jobs: yarn install - name: Build project + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} run: yarn build - name: Save .next directory From 130ea3994b3e9122c798c2489c104e516c9cb22f Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 18:08:48 +0100 Subject: [PATCH 13/36] Update test.yml --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b4be9c9d1..7de62a3c6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,7 +35,7 @@ jobs: with: name: next-artifact if-no-files-found: error - path: .next + path: packages/app/.next cypress-run: runs-on: ubuntu-22.04 @@ -48,7 +48,7 @@ jobs: uses: actions/download-artifact@v4 with: name: next-artifact - path: .next + path: packages/app/.next - name: Install dependencies run: | From fdc3232b83bb677bceff6dd4337daa4377eae866 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 18:27:08 +0100 Subject: [PATCH 14/36] Update test.yml --- .github/workflows/test.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7de62a3c6..761f6cc29 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,6 @@ jobs: - name: Install yarn and dependencies run: | npm install -g yarn - yarn install - name: Build project env: @@ -53,7 +52,6 @@ jobs: - name: Install dependencies run: | npm install -g yarn - yarn install - name: Cypress run env: From 6bbfb6752539e0d244b62367d30a2ad43af3655a Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 18:31:19 +0100 Subject: [PATCH 15/36] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 761f6cc29..1fa968a2c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: - name: Install yarn and dependencies run: | - npm install -g yarn + npm install -g yarn next - name: Build project env: From 65b74550ae65f88e8ef777a298a9bdaf9524f217 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Mon, 29 Jan 2024 18:38:16 +0100 Subject: [PATCH 16/36] Update test.yml --- .github/workflows/test.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1fa968a2c..07e7805c9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,14 +20,17 @@ jobs: - name: Install yarn and dependencies run: | - npm install -g yarn next + npm install -g yarn - - name: Build project + - name: Cypress install + uses: cypress-io/github-action@v6 env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} SESSION_SECRET: ${{ secrets.SESSION_SECRET }} - run: yarn build + with: + runTests: false + build: yarn build - name: Save .next directory uses: actions/upload-artifact@v4 From 19bf7af6b469bd934134007b118028471277c5ac Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 15:37:29 +0100 Subject: [PATCH 17/36] Update test.yml --- .github/workflows/test.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 07e7805c9..34a5873fe 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ on: jobs: install: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 @@ -40,7 +40,7 @@ jobs: path: packages/app/.next cypress-run: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest needs: install steps: - name: Checkout @@ -56,6 +56,9 @@ jobs: run: | npm install -g yarn + - name: List directory structure + run: ls -lah packages/app + - name: Cypress run env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} From da056127f7e9bc6f24a5c3e05e2f590cca627d26 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 15:52:57 +0100 Subject: [PATCH 18/36] Hmmm please work --- .github/workflows/test.yml | 41 ++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 34a5873fe..63df3fdcc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,33 +39,40 @@ jobs: if-no-files-found: error path: packages/app/.next - cypress-run: + ui-chrome-tests: + timeout-minutes: 15 runs-on: ubuntu-latest needs: install + strategy: + fail-fast: false + matrix: + containers: [1, 2, 3, 4, 5] steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v3 - - name: Download the .next directory - uses: actions/download-artifact@v4 + - name: Download the build folders + uses: actions/download-artifact@v3 with: name: next-artifact path: packages/app/.next - - name: Install dependencies - run: | - npm install -g yarn - - - name: List directory structure - run: ls -lah packages/app - - - name: Cypress run - env: - NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} - NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} - SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + - name: "E2e tests - Chrome" uses: cypress-io/github-action@v6 with: + build: yarn cypress info start: yarn start + wait-on: "http://localhost:3000" + wait-on-timeout: 120 browser: chrome - working-directory: ./packages/app + record: true + parallel: true + group: "UI - Chrome" + spec: cypress/tests/e2e/* + config-file: cypress.config.ts + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEBUG: "cypress:server:args" From 7c138fb81a6b8b1b8c935717e2ca5019a4ed596d Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 15:54:10 +0100 Subject: [PATCH 19/36] Update test.yml --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 63df3fdcc..29612a8d8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -49,10 +49,10 @@ jobs: containers: [1, 2, 3, 4, 5] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download the build folders - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: next-artifact path: packages/app/.next From 43e970d78c1596e48a8c97777d5cdf5067acafa1 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 15:59:54 +0100 Subject: [PATCH 20/36] Corrected the path --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 29612a8d8..8af5a29ea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,8 +68,8 @@ jobs: record: true parallel: true group: "UI - Chrome" - spec: cypress/tests/e2e/* - config-file: cypress.config.ts + spec: packages/app/cypress/tests/e2e/* + config-file: packages/app/cypress.config.ts env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} From cf9833ee816d75008342eef5529ffef532c19f0a Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 16:08:39 +0100 Subject: [PATCH 21/36] Create build_server.yml --- .github/workflows/build_server.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/build_server.yml diff --git a/.github/workflows/build_server.yml b/.github/workflows/build_server.yml new file mode 100644 index 000000000..5c4d9fc0a --- /dev/null +++ b/.github/workflows/build_server.yml @@ -0,0 +1,30 @@ +name: Build server + +on: + push: + branches: [main] + pull_request: + branches: [develop, main] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js 20... + uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: Install yarn... + run: npm install -g yarn + + - name: Install dependencies... + run: yarn install + working-directory: packages/new-server + + - name: Build server + run: yarn build + working-directory: packages/new-server From fc9fcbe1d59295179a7564d9f2acee2d10afb960 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 16:22:49 +0100 Subject: [PATCH 22/36] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8af5a29ea..24b2c6e3e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,7 +69,7 @@ jobs: parallel: true group: "UI - Chrome" spec: packages/app/cypress/tests/e2e/* - config-file: packages/app/cypress.config.ts + config-file: packages/app/cypress.config.js env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} From 32b917da714497950ecab53f95ddcc934be041b8 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 16:33:58 +0100 Subject: [PATCH 23/36] Support file not needed --- .github/workflows/test.yml | 2 +- packages/app/cypress.config.js | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 24b2c6e3e..c580756b4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,7 +46,7 @@ jobs: strategy: fail-fast: false matrix: - containers: [1, 2, 3, 4, 5] + containers: [1, 2] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/packages/app/cypress.config.js b/packages/app/cypress.config.js index ffe623482..14a0dcb9a 100644 --- a/packages/app/cypress.config.js +++ b/packages/app/cypress.config.js @@ -2,8 +2,6 @@ import { defineConfig } from "cypress"; export default defineConfig({ e2e: { - setupNodeEvents(on, config) { - // implement node event listeners here - }, + supportFile: false, } }); From 673b66086bdcced88d0ebf14e64f8c75fc19b672 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 16:47:31 +0100 Subject: [PATCH 24/36] Changed working directory --- .github/workflows/test.yml | 4 ++-- packages/app/cypress.config.js | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c580756b4..42726c635 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,8 +60,8 @@ jobs: - name: "E2e tests - Chrome" uses: cypress-io/github-action@v6 with: - build: yarn cypress info - start: yarn start + build: yarn --cwd packages/app cypress info + start: yarn --cwd packages/app start wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome diff --git a/packages/app/cypress.config.js b/packages/app/cypress.config.js index 14a0dcb9a..50ce9a26c 100644 --- a/packages/app/cypress.config.js +++ b/packages/app/cypress.config.js @@ -1,7 +1,5 @@ -import { defineConfig } from "cypress"; +import { defineConfig } from 'cypress' export default defineConfig({ - e2e: { - supportFile: false, - } -}); + e2e: {}, +}) From 0471b797916585b690b49d639e5c9a9104c99d86 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 16:57:06 +0100 Subject: [PATCH 25/36] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 42726c635..28576282b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,7 +68,7 @@ jobs: record: true parallel: true group: "UI - Chrome" - spec: packages/app/cypress/tests/e2e/* + spec: packages/app/cypress/e2e/* config-file: packages/app/cypress.config.js env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} From 18cd3b7b9cf044f129362c83c3db5ebbb716fd0b Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:00:11 +0100 Subject: [PATCH 26/36] Update test.yml --- .github/workflows/test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 28576282b..d627622bc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,8 +68,7 @@ jobs: record: true parallel: true group: "UI - Chrome" - spec: packages/app/cypress/e2e/* - config-file: packages/app/cypress.config.js + project: packages/app/ env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} From 64f6186b51df826f03f074e479018d650e801dec Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:03:09 +0100 Subject: [PATCH 27/36] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d627622bc..8fc02410a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,7 +68,7 @@ jobs: record: true parallel: true group: "UI - Chrome" - project: packages/app/ + working-directory: packages/app env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} From acb9b249b91594fc65c9de583961a98157a958d8 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:08:36 +0100 Subject: [PATCH 28/36] Do not record vids --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8fc02410a..18189a96b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -65,7 +65,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome - record: true parallel: true group: "UI - Chrome" working-directory: packages/app From fc34221c9f23e48d08cfa51a5c555176527a14f7 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:16:13 +0100 Subject: [PATCH 29/36] Added mobile testing --- .github/workflows/test.yml | 80 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 18189a96b..2629f6027 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -74,3 +74,83 @@ jobs: SESSION_SECRET: ${{ secrets.SESSION_SECRET }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DEBUG: "cypress:server:args" + + + ui-chrome-tests: + timeout-minutes: 15 + runs-on: ubuntu-latest + needs: install + strategy: + fail-fast: false + matrix: + containers: [1, 2] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download the build folders + uses: actions/download-artifact@v4 + with: + name: next-artifact + path: packages/app/.next + + - name: "E2e tests - Chrome" + uses: cypress-io/github-action@v6 + with: + build: yarn --cwd packages/app cypress info + start: yarn --cwd packages/app start + wait-on: "http://localhost:3000" + wait-on-timeout: 120 + browser: chrome + parallel: true + group: "UI - Chrome" + working-directory: packages/app + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEBUG: "cypress:server:args" + + ui-chrome-mobile-tests: + timeout-minutes: 15 + runs-on: ubuntu-latest + needs: install + strategy: + fail-fast: false + matrix: + containers: [1, 2] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download the build folders + uses: actions/download-artifact@v4 + with: + name: next-artifact + path: packages/app/.next + + - name: "E2e tests - Chrome" + uses: cypress-io/github-action@v6 + with: + build: yarn --cwd packages/app cypress info + start: yarn --cwd packages/app start + wait-on: "http://localhost:3000" + wait-on-timeout: 120 + browser: chrome + parallel: true + group: "UI - Chrome - Mobile" + working-directory: packages/app + config: | + { + "e2e": { + "viewportWidth": 375, + "viewportHeight": 667 + } + } + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEBUG: "cypress:server:args" From 1c3a3b417f407372fe61812d145a96530f94f9ce Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:17:55 +0100 Subject: [PATCH 30/36] Update test.yml --- .github/workflows/test.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2629f6027..70505438f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -102,8 +102,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome - parallel: true - group: "UI - Chrome" working-directory: packages/app env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} @@ -138,8 +136,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome - parallel: true - group: "UI - Chrome - Mobile" working-directory: packages/app config: | { From 6542f5e47ac910c2c36c88a68a21d7bdcc7142b5 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:23:53 +0100 Subject: [PATCH 31/36] Update test.yml --- .github/workflows/test.yml | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 70505438f..18dd652a3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,41 +75,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DEBUG: "cypress:server:args" - - ui-chrome-tests: - timeout-minutes: 15 - runs-on: ubuntu-latest - needs: install - strategy: - fail-fast: false - matrix: - containers: [1, 2] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Download the build folders - uses: actions/download-artifact@v4 - with: - name: next-artifact - path: packages/app/.next - - - name: "E2e tests - Chrome" - uses: cypress-io/github-action@v6 - with: - build: yarn --cwd packages/app cypress info - start: yarn --cwd packages/app start - wait-on: "http://localhost:3000" - wait-on-timeout: 120 - browser: chrome - working-directory: packages/app - env: - NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} - NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} - SESSION_SECRET: ${{ secrets.SESSION_SECRET }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DEBUG: "cypress:server:args" - ui-chrome-mobile-tests: timeout-minutes: 15 runs-on: ubuntu-latest From 02936a0fb00eda3edc424446f2a0d492844acd19 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:30:56 +0100 Subject: [PATCH 32/36] Please work --- .github/workflows/main.yml | 6 +----- .github/workflows/test.yml | 2 -- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8e9903f00..c2b9a2902 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,9 +1,5 @@ name: Cypress Tests -on: - pull_request: - branches: [develop] - jobs: cypress-run: runs-on: ubuntu-22.04 @@ -24,4 +20,4 @@ jobs: with: build: yarn build start: yarn start - working-directory: ./packages/app \ No newline at end of file + working-directory: ./packages/app diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 18dd652a3..95f079e68 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -65,8 +65,6 @@ jobs: wait-on: "http://localhost:3000" wait-on-timeout: 120 browser: chrome - parallel: true - group: "UI - Chrome" working-directory: packages/app env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} From 06274035fa4687f666b18c9270be3c2676d6af22 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 17:36:36 +0100 Subject: [PATCH 33/36] Added firefox tests --- .github/workflows/test.yml | 89 +++++++++++++++++++++++++++++++++++--- 1 file changed, 82 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 95f079e68..3a65f0e4e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,7 +39,7 @@ jobs: if-no-files-found: error path: packages/app/.next - ui-chrome-tests: + chrome-tests: timeout-minutes: 15 runs-on: ubuntu-latest needs: install @@ -73,7 +73,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DEBUG: "cypress:server:args" - ui-chrome-mobile-tests: + chrome-mobile-tests: timeout-minutes: 15 runs-on: ubuntu-latest needs: install @@ -91,7 +91,7 @@ jobs: name: next-artifact path: packages/app/.next - - name: "E2e tests - Chrome" + - name: "E2e tests - Chrome Mobile" uses: cypress-io/github-action@v6 with: build: yarn --cwd packages/app cypress info @@ -102,10 +102,85 @@ jobs: working-directory: packages/app config: | { - "e2e": { - "viewportWidth": 375, - "viewportHeight": 667 - } + "e2e": { + "viewportWidth": 390, + "viewportHeight": 844 + } + } + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEBUG: "cypress:server:args" + + firefox-tests: + timeout-minutes: 15 + runs-on: ubuntu-latest + needs: install + strategy: + fail-fast: false + matrix: + containers: [1, 2] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download the build folders + uses: actions/download-artifact@v4 + with: + name: next-artifact + path: packages/app/.next + + - name: "E2e tests - Firefox" + uses: cypress-io/github-action@v6 + with: + build: yarn --cwd packages/app cypress info + start: yarn --cwd packages/app start + wait-on: "http://localhost:3000" + wait-on-timeout: 120 + browser: firefox + working-directory: packages/app + env: + NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} + NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} + SESSION_SECRET: ${{ secrets.SESSION_SECRET }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEBUG: "cypress:server:args" + + firefox-mobile-tests: + timeout-minutes: 15 + runs-on: ubuntu-latest + needs: install + strategy: + fail-fast: false + matrix: + containers: [1, 2] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Download the build folders + uses: actions/download-artifact@v4 + with: + name: next-artifact + path: packages/app/.next + + - name: "E2e tests - Firefox mobile" + uses: cypress-io/github-action@v6 + with: + build: yarn --cwd packages/app cypress info + start: yarn --cwd packages/app start + wait-on: "http://localhost:3000" + wait-on-timeout: 120 + browser: chrome + working-directory: packages/app + config: | + { + "e2e": { + "viewportWidth": 375, + "viewportHeight": 667 + } } env: NEXT_PUBLIC_STUDIO_API_KEY: ${{ secrets.NEXT_PUBLIC_STUDIO_API_KEY }} From 6892fc0707d055e194b3ab40fe46cc0b6dbcbc41 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 18:06:19 +0100 Subject: [PATCH 34/36] Waiting until API Call is finished --- packages/app/cypress/e2e/archive.cy.js | 3 +- packages/new-server/cypress.config.ts | 9 +++++ .../new-server/cypress/fixtures/example.json | 5 +++ .../new-server/cypress/support/commands.ts | 37 +++++++++++++++++++ packages/new-server/cypress/support/e2e.ts | 20 ++++++++++ 5 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/new-server/cypress.config.ts create mode 100644 packages/new-server/cypress/fixtures/example.json create mode 100644 packages/new-server/cypress/support/commands.ts create mode 100644 packages/new-server/cypress/support/e2e.ts diff --git a/packages/app/cypress/e2e/archive.cy.js b/packages/app/cypress/e2e/archive.cy.js index 04ef40199..ca45001b5 100644 --- a/packages/app/cypress/e2e/archive.cy.js +++ b/packages/app/cypress/e2e/archive.cy.js @@ -69,12 +69,13 @@ describe('archive page', () => { }) it('show pagination and can click next page', () => { + cy.intercept() // Waiting to finish all API Calls + cy.viewport(1200, 800) cy.visit('http://localhost:3000/archive') cy.get(':nth-child(2) > .flex > .mx-2').should( 'contain', '1 of 67' ) - cy.viewport(1200, 800) cy.get(':nth-child(2) > .flex > :nth-child(3)').click() cy.url().should('include', 'page=2') cy.get(':nth-child(2) > .flex > .mx-2').should( diff --git a/packages/new-server/cypress.config.ts b/packages/new-server/cypress.config.ts new file mode 100644 index 000000000..17161e32e --- /dev/null +++ b/packages/new-server/cypress.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from "cypress"; + +export default defineConfig({ + e2e: { + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/packages/new-server/cypress/fixtures/example.json b/packages/new-server/cypress/fixtures/example.json new file mode 100644 index 000000000..02e425437 --- /dev/null +++ b/packages/new-server/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/packages/new-server/cypress/support/commands.ts b/packages/new-server/cypress/support/commands.ts new file mode 100644 index 000000000..698b01a42 --- /dev/null +++ b/packages/new-server/cypress/support/commands.ts @@ -0,0 +1,37 @@ +/// +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +// +// declare global { +// namespace Cypress { +// interface Chainable { +// login(email: string, password: string): Chainable +// drag(subject: string, options?: Partial): Chainable +// dismiss(subject: string, options?: Partial): Chainable +// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable +// } +// } +// } \ No newline at end of file diff --git a/packages/new-server/cypress/support/e2e.ts b/packages/new-server/cypress/support/e2e.ts new file mode 100644 index 000000000..f80f74f8e --- /dev/null +++ b/packages/new-server/cypress/support/e2e.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.ts is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file From 5903e5db8fa4b677f54207ce3c33f584ee5de0f5 Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 18:26:54 +0100 Subject: [PATCH 35/36] Inception now works correctly --- packages/app/cypress/e2e/archive.cy.js | 10 ++++++---- packages/app/cypress/support/e2e.ts | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/app/cypress/e2e/archive.cy.js b/packages/app/cypress/e2e/archive.cy.js index ca45001b5..76cc842bd 100644 --- a/packages/app/cypress/e2e/archive.cy.js +++ b/packages/app/cypress/e2e/archive.cy.js @@ -57,7 +57,7 @@ describe('archive page', () => { ) }) - it('can input search query and keep organization name', () => { + it('Can input search query and keep organization name', () => { cy.visit( 'http://localhost:3000/archive?event=funding_the_commons_berlin_2023' ) @@ -68,15 +68,17 @@ describe('archive page', () => { .should('include', 'event=funding_the_commons_berlin_2023') }) - it('show pagination and can click next page', () => { - cy.intercept() // Waiting to finish all API Calls - cy.viewport(1200, 800) + it('Show pagination and can click next page', () => { + cy.intercept('GET', '/archive?searchQuery=jonas').as( + 'searchForJonas' + ) cy.visit('http://localhost:3000/archive') cy.get(':nth-child(2) > .flex > .mx-2').should( 'contain', '1 of 67' ) cy.get(':nth-child(2) > .flex > :nth-child(3)').click() + cy.url().should('include', 'page=2') cy.get(':nth-child(2) > .flex > .mx-2').should( 'contain', diff --git a/packages/app/cypress/support/e2e.ts b/packages/app/cypress/support/e2e.ts index f80f74f8e..8d65d631b 100644 --- a/packages/app/cypress/support/e2e.ts +++ b/packages/app/cypress/support/e2e.ts @@ -16,5 +16,6 @@ // Import commands.js using ES2015 syntax: import './commands' -// Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file +beforeEach(() => { + cy.viewport(1200, 1000) +}) From 5bd914b04e3aaa4a2b5b2535e88a38d1f19ec0cc Mon Sep 17 00:00:00 2001 From: xvoorvaa Date: Tue, 30 Jan 2024 18:39:45 +0100 Subject: [PATCH 36/36] Adding a few configs --- packages/app/cypress.config.js | 8 +++++++- packages/app/cypress/e2e/home.cy.js | 2 -- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/app/cypress.config.js b/packages/app/cypress.config.js index 50ce9a26c..97d466c3d 100644 --- a/packages/app/cypress.config.js +++ b/packages/app/cypress.config.js @@ -1,5 +1,11 @@ import { defineConfig } from 'cypress' export default defineConfig({ - e2e: {}, + e2e: { + defaultCommandTimeout: 6000, + retries: { + runMode: 3, + openMode: 0, + }, + }, }) diff --git a/packages/app/cypress/e2e/home.cy.js b/packages/app/cypress/e2e/home.cy.js index 4f74b1404..ec1ed7215 100644 --- a/packages/app/cypress/e2e/home.cy.js +++ b/packages/app/cypress/e2e/home.cy.js @@ -32,14 +32,12 @@ describe('Tests for homepage', () => { }) it('can click description', () => { - cy.viewport(1200, 800) cy.get( ':nth-child(2) > .min-h-full > .flex-col > [href="/archive?event=ethporto_2023"] > .flex > .text-xs' ).click() }) it('can click organization name', () => { - cy.viewport(1200, 800) cy.get(':nth-child(1) > .my-2 > a > .font-semibold').click() }) })