open-index/open-npm huggingface dataset:
npm package: @near-wallet/e2e-tests
Description: An end to end test suite for NEAR Wallet flows. Intended to verify and assert that all major flows are functional.
Latest version: 0.0.4

# 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
1. 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 the `BANK_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 testnet
    * **`NODE_URL`** (optional): The rpc node to use for the test suite's connection to NEAR. defaults to https://rpc.testnet.near.org
    * **`WALLET_URL`** (optional): The wallet URL to use in the test suite. defaults to https://wallet.testnet.near.org
2. Run 
    * `yarn && yarn run e2e` or 
    * `yarn && yarn run e2e:debug` to run in [debug mode](https://playwright.dev/docs/debug#run-in-debug-mode)

Tooling
---
* This module uses [Playwright](https://playwright.dev/) to include support for webkit and multi-tab flows
* This module uses the official [Playwright Test](https://www.npmjs.com/package/@playwright/test) test runner
* This module extends the matchers provided the the test runner and makes assertions using [expect-playwright](https://github.com/playwright-community/expect-playwright)

Best Practices and Design Decisions
---
#### [Jest](https://github.com/playwright-community/jest-playwright) vs [Playwright Test runner](https://www.npmjs.com/package/@playwright/test)
*    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](https://github.com/hoverinc/playwright-testing-library) queries is not crucial to us at the moment since we intend to use **test-id**s 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](https://testing-library.com/) 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-id**s since we don't want to add too much maintanence overhead