Skip to content

API тесты

API тесты проверяют все REST-эндпоинты saas-api без использования браузера. Каждый тест выполняет HTTP-запрос через APIRequestContext и валидирует структуру ответа.

Обзор

32 тест-файла покрывают ~140 тест-кейсов. Тесты используют кастомные фикстуры:

  • auth.fixture.ts — предоставляет authenticatedRequest с JWT пользователя
  • admin-auth.fixture.ts — предоставляет adminRequest с JWT администратора

Пример типичного API теста:

typescript
import { expect, test } from "../fixtures/auth.fixture";

test("GET /api/companies — returns paginated list", async ({ authenticatedRequest }) => {
	const response = await authenticatedRequest.get("/api/companies");

	expect(response.ok()).toBe(true);
	const body = await response.json();
	expect(body.success).toBe(true);
	expect(Array.isArray(body.data)).toBe(true);
});

Навигация

Аутентификация и пользователи

ФайлТестовОписание
auth.e2e.ts4Sign-in, /me, 401
auth-flows.e2e.ts6Sign-in, refresh, forgot/reset password, sign-up
users.e2e.ts3Get, update, get by id

Компании

ФайлТестовОписание
companies.e2e.ts6CRUD + /my
company-invitations.e2e.ts3Send, accept, revoke
company-access-tokens.e2e.ts4CRUD

Ассистенты

ФайлТестовОписание
assistants.e2e.ts6CRUD + copy
assistant-folders.e2e.ts7CRUD + folder operations
assistant-tools.e2e.ts5CRUD
assistant-knowledge.e2e.ts5CRUD
assistant-phones.e2e.ts1Phones count
assistant-integrations.e2e.ts2List, get by id

Чаты и сообщения

ФайлТестовОписание
chats.e2e.ts3List, get, update
chat-operations.e2e.ts3AI control, assign/unassign assistant
messages.e2e.ts3List, last, get by id

Телефония и история

ФайлТестовОписание
phones.e2e.ts5CRUD
calls-history.e2e.ts2List, get by id
chats-history.e2e.ts2List, get by id

Интеграции и справочники

ФайлТестовОписание
integrations.e2e.ts3List, get, update
models.e2e.ts1List models
voices.e2e.ts2List, get by id

Аналитика и биллинг

ФайлТестовОписание
analytics.e2e.ts1313 company analytics endpoints
billing.e2e.ts4Tariffs, payments, coupon, unsubscribe
tariffs.e2e.ts1Public tariffs (no auth)

Прочее

ФайлТестовОписание
health.e2e.ts2Health check, Prometheus metrics
files.e2e.ts3Upload, get, delete
support.e2e.ts1Create request
sync.e2e.ts2Stats, fetch

Admin

ФайлТестовОписание
admin.e2e.ts15Auth + 14 entity list endpoints
admin-analytics.e2e.ts1010 admin analytics endpoints
admin-billing.e2e.ts7Tariffs, subscriptions, invoices, payments, events, refunds, coupons
admin-workflows.e2e.ts3List, stats, billing lifecycle

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

SaaS E2E Test Documentation