Skip to content

Client тесты

Browser-тесты saas-client — проверяют загрузку страниц, навигацию, UI-элементы и пользовательские сценарии. Тесты запускаются в Chromium через Playwright.

Обзор

14 тест-файлов покрывают ~34 тест-кейса. Тесты используют сохраненное storageState для аутентификации — не нужно логиниться перед каждым тестом.

typescript
import { expect, test } from "@playwright/test";

test("billing page loads", async ({ page }) => {
	await page.goto("/");
	await page.waitForURL("**/companies/**");

	const companyIdMatch = /companies\/([^/]+)/.exec(page.url());
	await page.goto(`/companies/${companyIdMatch![1]}/billing`);
	await page.waitForLoadState("networkidle");

	await expect(page).toHaveURL(/billing/);
});

Навигация

Аутентификация

ФайлТестовОписание
auth.e2e.ts3Sign-in page, login flow, invalid creds
sign-up.e2e.ts4Page, duplicate email, Google OAuth
forgot-password.e2e.ts3Page, submit, confirmation
reset-password.e2e.ts2Page, password fields
verify-code.e2e.ts1Redirect behavior

Основные страницы

ФайлТестовОписание
dashboard.e2e.ts4Page, sidebar, analytics, company dropdown
assistants.e2e.ts3List, create dialog, detail page
chats.e2e.ts2Page, aside panel
calls.e2e.ts2Page, calls table
integrations.e2e.ts2Page, integration cards
phones.e2e.ts2Page, create dialog

Биллинг, настройки и статика

ФайлТестовОписание
billing.e2e.ts3Page, tariff plans, period toggle
settings.e2e.ts3User dropdown, support, theme toggle
static-pages.e2e.ts3Privacy, terms, 404

Маршрутизация

Все аутентифицированные страницы используют паттерн /companies/:companyId/<section>. Тесты извлекают companyId из URL после авторизации:

typescript
await page.goto("/");
await page.waitForURL("**/companies/**");

const companyIdMatch = /companies\/([^/]+)/.exec(page.url());
await page.goto(`/companies/${companyIdMatch![1]}/assistants`);

Следующие шаги

SaaS E2E Test Documentation