Skip to content

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

Тесты аутентификации и управления пользователями покрывают все 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)

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

SaaS E2E Test Documentation