-
Notifications
You must be signed in to change notification settings - Fork 13
Testing
We are using playwright for end to end testing.
To run all e2e tests
cd packages/data-portal
pnpm run e2e
To run e2e tests in a specific file
$ cd packages/data-portal
$ npx playwright test e2e/metadataDrawer.test.ts
Test file structure
- newFeature.test.ts
- pageObjects
- newFeature
- newFeaturePage.ts
- newFeatureAggregators.ts (optional)
- types.ts
- utils.ts
newFeature.test.ts
- this is where the test cases live. Each test should be easy to read.
page-objects
- this directory contains all of the helpers related to each set of tests.
new-feature-page.ts
- this is a page object that contains all of the steps of a test that interact with the page.
new-feature-aggregators.ts
(optional) - this file contains helper functions that have multiple steps. Adding this layer allows the tests to stay readable. It removes duplication that is not relevant for someone reading the test file.
types.ts
- test-specific types
utils.ts
- contains helpers that are not specific to interacting with the page. For example, for fetching data.
We have a template defined with hygen. Templates live in any _templates directory. Feel free to add more templates.
To use
$ brew tap jondot/tap
$ brew install hygen
To generate a new test suite in our project:
$ hygen e2e new testSuiteName