Автоматичне тестування
Оновлено 23 лютого 2026 р.
Адмін-панель містить повний набір автоматичних тестів, що перевіряють бізнес-логіку, API-інтеграції та UI-компоненти.
Огляд
| Метрика | Значення |
|---|---|
| Загальна кількість тестів | 564 |
| Тестових файлів | 42 |
| Test runner | Vitest |
| Мокінг API | MSW (Mock Service Worker) |
| Тестування компонентів | React Testing Library |
Запуск тестів
Усі команди виконуються всередині Docker-контейнера.
| Команда | Опис |
|---|---|
docker exec booking_admin_dev npx vitest run | Запустити всі тести один раз |
docker exec booking_admin_dev npx vitest | Запустити в режимі watch |
docker exec booking_admin_dev npm run test:coverage | Запустити зі звітом покриття |
Що тестується
Логіка сутностей (10 файлів, ~190 тестів)
Статус-бейджі, функції форматування, кольорові маппінги та константи для всіх доменних сутностей: бронювання, персонал, послуги, клієнти, підписки, абонементи, платежі, медіа, цифрові продукти та розклад.
Утиліти (4 файли, ~54 тести)
Форматування дати/часу, конвертація часових зон, URL-хелпери та форматування валют з мультивалютною підтримкою.
API-хуки (20 файлів, ~260 тестів)
Усі React Query хуки для отримання та зміни даних: list-запити, detail-запити, create/update/delete мутації та інвалідація кешу для кожного модуля.
UI-компоненти (9 файлів, ~39 тестів)
Компоненти статус-бейджів для всіх сутностей (правильні кольори, підписи та стилі) та прогрес-бари використання.
Переклади (1 файл, 5 тестів)
Перевірка консистентності — усі три файли локалізації (EN, UK, PL) мають однакові ключі перекладів.
Додавання нових тестів
При додаванні нової функціональності дотримуйтесь цього порядку:
- Створіть тестовий файл поруч із вихідним файлом (наприклад,
useBookings.test.ts) - Додайте MSW-хендлери в
src/test/handlers.tsдля нових API-ендпоінтів - Додайте фабричні функції в
src/test/factories.tsдля нових типів сутностей - Запустіть конкретний тест:
docker exec booking_admin_dev npx vitest run path/to/file.test.ts
Порада: Запускайте повний набір тестів перед комітом, щоб виявити регресії:
docker exec booking_admin_dev npx vitest run