Skip to content

Commit

Permalink
fix: split up cypress tests to try and fix api limit
Browse files Browse the repository at this point in the history
  • Loading branch information
gilesw committed Dec 12, 2024
1 parent ee27e22 commit 515d02b
Show file tree
Hide file tree
Showing 4 changed files with 178 additions and 1 deletion.
74 changes: 74 additions & 0 deletions .github/workflows/test-e2e-cypress-add-affiliation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: test-e2e-cypress-csv-add-affiliations

on:
workflow_dispatch:

jobs:
test_e2e_cypress:
strategy:
matrix:
include:
- name: csv-add-affiliations
spec: |
cypress/e2e/retention/csv-add-affiliations.cy.js
# keep running jobs even if one test fails in case there are multiple failed tests
fail-fast: false

###################################################################################################

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"

- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/[email protected]
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"

- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/[email protected]
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"

##########################################################################################################

- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: "${{ matrix.spec }}"

# upload our cypress output results but only if the cypress tests failed
# NOTE: artifacts must have unique names
- uses: actions/upload-artifact@v4
if: failure()
with:
name: "cypress-screenshots-${{ matrix.name }}"
path: ui/cypress/screenshots
if-no-files-found: ignore

- uses: actions/upload-artifact@v4
if: failure()
with:
name: "cypress-videos-${{ matrix.name }}"
path: ui/cypress/videos
if-no-files-found: ignore


Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Cypress end to end tests
name: test-e2e-cypress-all

on:
workflow_dispatch:
Expand Down
102 changes: 102 additions & 0 deletions .github/workflows/test-e2e-cypress-edit-affiliation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: test-e2e-cypress-all

on:
workflow_dispatch:

jobs:
test_e2e_cypress:
strategy:
matrix:
include:
- name: csv-add-affiliations
spec: |
cypress/e2e/retention/csv-add-affiliations.cy.js
- name: csv-edit-affiliations
spec: |
cypress/e2e/retention/csv-edit-affiliations.cy.js
- name: add-affiliation
spec: |
cypress/e2e/retention/add-affiliation.cy.js
- name: notifications
spec: |
cypress/e2e/retention/notifications.cy.js
- name: other-tests
spec: |
cypress/e2e/retention/add-member.cy.js
cypress/e2e/retention/add-user.cy.js
cypress/e2e/retention/csv-invalid-affiliation.cy.js
cypress/e2e/retention/edit-affiliation.cy.js
cypress/e2e/retention/edit-member.cy.js
cypress/e2e/retention/edit-user.cy.js
cypress/e2e/retention/reset-password.cy.js
cypress/e2e/retention/restricted-access.cy.js
cypress/e2e/retention/ui-authorities.cy.js
cypress/e2e/retention/ui-login.cy.js
cypress/e2e/retention/ui-pagination.cy.js
cypress/e2e/retention/ui-homepage.cy.js
cypress/e2e/retention/ui-homepage-edit.cy.js
cypress/e2e/retention/ui-reports.cy.js
# keep running jobs even if one test fails in case there are multiple failed tests
fail-fast: false

###################################################################################################

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"

- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/[email protected]
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"

- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/[email protected]
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"

##########################################################################################################

- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: "${{ matrix.spec }}"

# upload our cypress output results but only if the cypress tests failed
# NOTE: artifacts must have unique names
- uses: actions/upload-artifact@v4
if: failure()
with:
name: "cypress-screenshots-${{ matrix.name }}"
path: ui/cypress/screenshots
if-no-files-found: ignore

- uses: actions/upload-artifact@v4
if: failure()
with:
name: "cypress-videos-${{ matrix.name }}"
path: ui/cypress/videos
if-no-files-found: ignore


1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ gateway/yarn.lock
gateway/cypress/fixtures/editAffiliations.csv
gateway/cypress/fixtures/bulk-edit-salesforce-ids-config.json
.idea/
.vscode/

0 comments on commit 515d02b

Please sign in to comment.