Компании
Тесты CRUD операций с компаниями, приглашениями и токенами доступа. Компании — основная единица мультитенантности в saas-api. Все ресурсы (ассистенты, чаты, интеграции) привязаны к компании.
Обзор
Три файла покрывают полный жизненный цикл компании:
| Файл | Описание |
|---|---|
companies.e2e.ts | CRUD + получение компаний текущего пользователя |
company-invitations.e2e.ts | Отправка, принятие и отзыв приглашений |
company-access-tokens.e2e.ts | CRUD API токенов доступа |
companies.e2e.ts
Полный CRUD с изоляцией данных — тест создает компанию, обновляет и удаляет ее в рамках одного прогона.
Покрытие:
- ✅ Список компаний с пагинацией (
GET /api/companies) - ✅ Компании текущего пользователя (
GET /api/companies/my) - ✅ Создание новой компании (
POST /api/companies) - ✅ Получение компании по ID (
GET /api/companies/:id) - ✅ Обновление компании (
PATCH /api/companies/:id) - ✅ Удаление компании (
DELETE /api/companies/:id)
Жизненный цикл
Тесты выполняются последовательно (test.describe.serial). Созданный ресурс используется в последующих тестах и удаляется в конце.
company-invitations.e2e.ts
Тесты отправки, принятия и отзыва приглашений в компанию.
Покрытие:
- ✅ Отправка приглашения (
POST /api/company-invitations/:companyId/invitations) - ❌ Принятие с невалидным токеном → ошибка (
POST /api/company-invitations/accept) - ❌ Отзыв несуществующего приглашения → ошибка (
PATCH /api/company-invitations/:id/revoke)
company-access-tokens.e2e.ts
CRUD операции с API токенами доступа компании (формат happ_...).
Покрытие:
- ✅ Список токенов компании (
GET /api/companies/:companyId/access-tokens) - ✅ Генерация нового токена (
POST /api/companies/:companyId/access-tokens) - ✅ Обновление токена (
PATCH /api/companies/:companyId/access-tokens/:tokenId) - ✅ Отзыв токена (
DELETE /api/companies/:companyId/access-tokens/:tokenId)
Следующие шаги
- Ассистенты — управление AI-ассистентами
- Чаты и сообщения — работа с чатами