End-to-end testing for Torus products.
Torus
Web3Auth
The following software are required:
- nodejs : Download and Install Node JS from
https://nodejs.org/en/download/ 
- Clone the repo using below URL
https://github.com/Web3Auth/web3auth-e2e-tests.git- Navigate to folder and install npm packages using:
npm install- For first time installation run below command to download required browsers
npm i -D @playwright/test
# install supported browsers
npx playwright install| Script | Description | 
|---|---|
| test --config=<test-dir>/index.config.ts --project=<chromium|firefox|webkit> | Run tests in headless mode (no GUI, for CI) with feature specific config | 
| test --config=<test-dir>/index.config.ts --project=<chromium|firefox|webkit> --headed | Run tests in headed mode (with GUI, for development) | 
| trace <path-to-trace.zip> | Trace test results (for development) | 
| test --config=index.config.ts --project=<chromium|firefox|webkit> | Run tests in headless mode (no GUI, for CI) using global config | 
| test --grep=@smoke --config=index.config.ts --project=<chromium|firefox|webkit> | Run tests with tags @smoke using global config | 
Add a new file <name>.test.ts to the test suite's directory:
test.only("focus this test", async ({ page }) => {
  // Run only this test during development
});test.skip("skip this test", async ({ page }) => {
  // This test is not run
});test.serial("run tests in serial mode", async ({ page }) => {
  // This runs the below test in a serial mode
  test("scenario1", async ({ page }) => {});
  test("scenario2", async ({ page }) => {});
});When you've done writing the test, change test.only to test to turn off focus mode.
Duplicate openloginV3/account-page/ rename and update the tests.
To view smoke run results, join discord.
Prefer text or accessibility selectors:
await page.click("text=Welcome onboard");
await page.click('button:has-text("Get Started")');
await page.click('[aria-label="Continue with Facebook"]');
await page.click("xpath=.//div[text()='Login']");Auth Service buildEnv: production, testing, staging mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: none, mandatory network: sapphire devnet, sapphire mainnet, mainnet uxMode: popup, redirect logins: passwordless only
For the below combinations, we want to test if the login is successful or not. All random accounts in each combo case.
buildEnv: production mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: none network: sapphire mainnet uxMode: redirect logins: passwordless only
buildEnv: testing mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: mandatory network: sapphire devnet uxMode: popup logins: passwordless only
buildEnv: staging mfaFactorsEnabled: all selected mfaFactorsMandatory: device, password, authenticator mandatory mfaLevel: mandatory network: mainnet uxMode: redirect logins: passwordless only
