Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A /cypress directory has been created. It contains the following sub-directories.

    • /downloads - for files downloaded during a test. Not yet used.

    • /e2e - this is where all of our E2E integration tests go. All tests follow the format exampleTest.cy.ts.

    • /fixtures - for Cypress fixtures.

    • /screenshots - Cypress automatically saves screenshots it takes from the tests to this location. These are not to be committed to Git, but are sometimes useful for evidencing test failures or diagnosing an issue.

    • /support - contains configuration files for Cypress such as e2e.ts, which manages config for E2E tests, and commands.ts, which is where Cypress custom commands are registered.

      • An example of a custom command is cy.login() - as we generally have to login at the start of most tests, refactoring the necessary code into a command makes sense.

    • /utils - holds any required utility functions.

  • Also located within this directory is the Cypress tsconfig.json file, which regulates the behaviour of the TypeScript compiler when dealing with Cypress files.

  • Outside of this directory, cypress.config.ts manages global Cypress configuration settings.

  • Before doing anything with Cypress, you will need to add a CYPRESS_USER and CYPRESS_PW to your .env file.

    • These values should correspond to

    your DCB Admin
    • the username and password

    , respectively, and
    • you currently use to log in to DCB Admin, as they will be used by Cypress to login to DCB Admin for its tests.

Preparing and writing tests

...