e2e-for-economist

1.0.0 • Public • Published

End to end tests

Runs tests against a production version of the newsletters hub, i.e. it's a very high-level set of tests that interacts with the webpage in a similar way to manual QA testing would.

Uses playwright as the test runner.

Command-line instructions

All instructions based on a command line in this directory

First time setup

  • run npm i to install dependencies
  • run npx playwright install to install playwright dependencies (such as headless browsers)

Running the tests

  • Copy (don't rename) the .env.template file to .env
  • update the BASE_URL variable in .env to the environment you wish to test against (e.g. https://stage.economist.com)
  • fill in the credentials with a valid credentials to match the environment (ask a team-member if unsure)
  • Run the tests with npm run test or the test script (webstorm)
    • To actually see the browser when running, use npm run test:with-browser instead

The valid urls are local, dev, stage and prod.

Helpful features when writing/debugging tests

Running specific tests

To run a subset of tests, use test.only or test.describe.only in place of test and test.describe for any tests or describe blocks you wish to run. All other tests will be ignored.

Context: why is this here?

We want integration tests to be completely independent of production code (i.e. it does not belong under /src). Having it here forces us to think carefully about importing code from production, as we have to explicitly allow it, or to have a really obviously horrible relative import.

Separating this out allows us to only install it for running tests, and to avoid doing so for building the app, which speeds up all aspects of the CI (deployment and testing).

Readme

Keywords

none

Package Sidebar

Install

npm i e2e-for-economist

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

10.8 kB

Total Files

14

Last publish

Collaborators

  • johnjameshodgins