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.ts | 3 | Sign-in page, login flow, invalid creds |
| sign-up.e2e.ts | 4 | Page, duplicate email, Google OAuth |
| forgot-password.e2e.ts | 3 | Page, submit, confirmation |
| reset-password.e2e.ts | 2 | Page, password fields |
| verify-code.e2e.ts | 1 | Redirect behavior |
Основные страницы
| Файл | Тестов | Описание |
|---|---|---|
| dashboard.e2e.ts | 4 | Page, sidebar, analytics, company dropdown |
| assistants.e2e.ts | 3 | List, create dialog, detail page |
| chats.e2e.ts | 2 | Page, aside panel |
| calls.e2e.ts | 2 | Page, calls table |
| integrations.e2e.ts | 2 | Page, integration cards |
| phones.e2e.ts | 2 | Page, create dialog |
Биллинг, настройки и статика
| Файл | Тестов | Описание |
|---|---|---|
| billing.e2e.ts | 3 | Page, tariff plans, period toggle |
| settings.e2e.ts | 3 | User dropdown, support, theme toggle |
| static-pages.e2e.ts | 3 | Privacy, 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`);Следующие шаги
- Аутентификация — тесты auth flow
- Дашборд — тесты главной страницы
- Архитектура — устройство setup проекта