Compare commits

..

2 Commits

Author SHA1 Message Date
ba393dc4cb Refactor: simplify login test by removing helpers and describe block
Some checks failed
Playwright Tests / test (push) Has been cancelled
2026-05-31 14:13:29 +03:30
8ffacd5f55 Chore: add playwright test scripts to package.json 2026-05-31 14:11:52 +03:30
2 changed files with 17 additions and 27 deletions

View File

@@ -7,7 +7,10 @@
"dev": "vite", "dev": "vite",
"build": "tsc -b && vite build", "build": "tsc -b && vite build",
"lint": "eslint .", "lint": "eslint .",
"preview": "vite preview" "preview": "vite preview",
"test": "playwright test",
"test:ui": "playwright test --ui",
"test:report": "playwright show-report"
}, },
"dependencies": { "dependencies": {
"react": "^19.2.6", "react": "^19.2.6",

View File

@@ -1,30 +1,17 @@
import { test, expect, type Page } from "@playwright/test"; import { test, expect } from "@playwright/test";
const LOGIN_URL = "/auth/login?returnUrl=/admin"; const LOGIN_URL = "/auth/login?returnUrl=/admin";
const getPhoneInput = (page: Page) => test("09111111111 should redirect to /admin on successful login", async ({
page.getByRole("spinbutton", { name: "شماره موبایل" }); page,
const getContinueButton = (page: Page) => baseURL,
page.getByRole("button", { name: "ادامه" }); }) => {
const getPasswordInput = (page: Page) => await page.goto(LOGIN_URL);
page.getByRole("textbox", { name: "کلمه عبور" }); await page
const getLoginButton = (page: Page) => .getByRole("spinbutton", { name: "شماره موبایل" })
page.getByRole("button", { name: "ورود" }); .fill("09111111111");
await page.getByRole("button", { name: "ادامه" }).click();
test.describe("login tests - 09111111111", () => { await page.getByRole("textbox", { name: "کلمه عبور" }).fill("123456");
test.beforeEach(async ({ page }) => { await page.getByRole("button", { name: "ورود" }).click();
await page.goto(LOGIN_URL); await expect(page).toHaveURL(`${baseURL}/admin`);
await getPhoneInput(page).fill("09111111111");
await getContinueButton(page).click();
});
test("should have password", async ({ page }) => {
await expect(getPasswordInput(page)).toBeVisible();
});
test("should redirect to /admin on successful login", async ({ page }) => {
await getPasswordInput(page).fill("123456");
await getLoginButton(page).click();
await expect(page).toHaveURL("https://dev-gate.raysa.app/admin");
});
}); });