@near-wallet/e2e-tests
v0.0.4
Published
An end to end test suite for NEAR Wallet flows. Intended to verify and assert that all major flows are functional.
Downloads
4
Readme
NEAR Wallet E2E Tests
An end to end test suite for NEAR Wallet flows. Intended to verify and assert that all major flows are functional.
Setup
To run the test suite
- Add the following environment variables
BANK_ACCOUNT
: This is the account id the test suite will use to generate temporary sub accounts for testing.BANK_SEED_PHRASE
: The seed phrase for theBANK_ACCOUNT
TEST_ACCOUNT_SEED_PHRASE
: Seed phrase to use for accounts temporarily generated by the test suite.WALLET_NETWORK
: The wallet network (/mainnet|testnet|betanet/) to run the tests against. defaults to testnetNODE_URL
(optional): The rpc node to use for the test suite's connection to NEAR. defaults to https://rpc.testnet.near.orgWALLET_URL
(optional): The wallet URL to use in the test suite. defaults to https://wallet.testnet.near.org
- Run
yarn && yarn run e2e
oryarn && yarn run e2e:debug
to run in debug mode
Tooling
- This module uses Playwright to include support for webkit and multi-tab flows
- This module uses the official Playwright Test test runner
- This module extends the matchers provided the the test runner and makes assertions using expect-playwright
Best Practices and Design Decisions
Jest vs Playwright Test runner
- We opted for the official Playwright test runner
- We prefer a simpler setup with less moving parts and APIs to reason about
- Support for testing-library queries is not crucial to us at the moment since we intend to use test-ids frequently in our end to end test suite. More on this below.
Test IDs vs User driven selectors and queries
- We will use test-ids frequently in our end to end tests. We will use user centric queries as encouraged by testing library in our unit and integration tests.
- This is because our main goal here is functionality not accessibility or visibility
- Having said that, we will not overuse test-ids since we don't want to add too much maintanence overhead