Skip to content

Cypress end to end tests #15

Cypress end to end tests

Cypress end to end tests #15

Workflow file for this run

name: Cypress end to end tests
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
#
###################################################################################################
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-${{ github.job }}"
path: ui/cypress/screenshots
- uses: actions/upload-artifact@v4
if: failure()
with:
name: "cypress-videos-${{ github.job }}"
path: ui/cypress/videos