Skip to content

Компании

Тесты CRUD операций с компаниями, приглашениями и токенами доступа. Компании — основная единица мультитенантности в saas-api. Все ресурсы (ассистенты, чаты, интеграции) привязаны к компании.

Обзор

Три файла покрывают полный жизненный цикл компании:

ФайлОписание
companies.e2e.tsCRUD + получение компаний текущего пользователя
company-invitations.e2e.tsОтправка, принятие и отзыв приглашений
company-access-tokens.e2e.tsCRUD 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)

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

SaaS E2E Test Documentation