Аутентификация
Тесты аутентификации и управления пользователями покрывают все auth-эндпоинты saas-api.
Обзор
Аутентификация в saas-api использует JWT с двумя типами токенов:
- Access Token — короткоживущий (15 минут), для API запросов
- Refresh Token — долгоживущий (7 дней), для обновления access token
Эндпоинт входа: POST /api/auth/sign-in
auth.e2e.ts
Базовые тесты — вход, получение профиля, обработка ошибок.
Покрытие:
- ✅ Успешный вход с корректными credentials
- ✅ Получение текущего пользователя с валидным токеном
- ❌ Некорректные credentials → 401
- ❌ Запрос без токена → 401
typescript
test("POST /api/auth/sign-in — successful login", async ({ request }) => {
const response = await request.post(`${apiBaseUrl}/api/auth/sign-in`, {
data: { email: testEmail, password: testPassword }
});
expect(response.ok()).toBe(true);
const body = await response.json();
expect(body.data.accessToken).toBeTruthy();
});auth-flows.e2e.ts
Расширенные сценарии — refresh token, восстановление пароля, регистрация.
Покрытие:
- ✅ Успешный вход с получением access + refresh токенов
- ✅ Обновление access токена через refresh token
- ✅ Получение профиля текущего пользователя
- ✅ Отправка запроса на восстановление пароля
- ❌ Некорректные credentials → 401
- ❌ Регистрация с уже существующим email → ошибка
Эндпоинты
| Метод | Эндпоинт | Описание |
|---|---|---|
| POST | /api/auth/sign-in | Вход в систему |
| POST | /api/auth/refresh | Обновление токена |
| GET | /api/auth/me | Текущий пользователь |
| POST | /api/auth/forgot-password | Восстановление пароля |
| POST | /api/auth/sign-up | Регистрация |
users.e2e.ts
Управление профилем пользователя.
Покрытие:
- ✅ Получение профиля текущего пользователя (
GET /api/users/me) - ✅ Обновление профиля (
PATCH /api/users/:id) - ✅ Получение пользователя по ID (
GET /api/users/:id)
Следующие шаги
- Компании — CRUD компаний
- Ассистенты — управление AI-ассистентами