# 07 — Testing Checklist (MVP) Цей документ визначає мінімальний набір тестів, необхідних для перевірки MVP MicroDAO. Він створений на основі повного QA Test Plan, але сфокусований на ключових флоу. ## 1. Environment Тестувати на: - Desktop ≥1280px - Chrome (останній) - Safari (останній) - Firefox ESR (опціонально) Мова інтерфейсу: uk-UA Часовий пояс: Europe/Kyiv ## 2. Critical End-to-End Tests (обов'язково) ### E2E-01 — Magic-link login **Кроки:** 1. Ввести email у форму логіну. 2. Отримати код/лінк. 3. Авторизуватися. **Очікування:** - `POST /auth/login-email → 204` - `POST /auth/exchange → 200` - Користувач потрапляє у `/onboarding` ### E2E-02 — Створення спільноти **Кроки:** 1. Onboarding Step 2: ввести назву. 2. Натиснути "Продовжити". **Очікування:** - `POST /teams → 201` - Зберігається `teamId` - Перехід до Step 3 ### E2E-03 — Вибір режиму (Public / Confidential) **Кроки:** 1. На Step 3 обрати режим. 2. Натиснути "Вибрати режим". **Очікування:** - `PATCH /teams/{id} → 200` - У state онбордингу режим оновлено ### E2E-04 — Створення першого каналу **Кроки:** 1. Step 4: назва "general". 2. Тип: public. **Очікування:** - `POST /channels → 201` - `channelId` збережено - Перехід до Step 5 ### E2E-05 — Увімкнення приватного агента **Кроки:** 1. Step 5 → toggle ON 2. Натиснути "Готово" **Очікування:** - `POST /agents → 201` - Агент видимий у списку `/agents` ### E2E-06 — Фінальний redirect **Кроки:** 1. Step 6 → "Перейти в чат" **Очікування:** - Перенаправлення на `/t/:teamId/c/:channelId` - Відображено стрічку повідомлень ## 3. Chat Tests ### CHAT-01 — Відправка повідомлення **Кроки:** 1. Ввести текст. 2. Натиснути "Надіслати". **Очікування:** - `POST /channels/{id}/messages → 201` - Повідомлення зʼявляється у стрічці без reload ### CHAT-02 — Пагінація стрічки (cursor) **Кроки:** 1. Прокрутити догори. 2. Завантаження старих повідомлень. **Очікування:** - `GET /messages?cursor=...` - Нові елементи додаються на початок ### CHAT-03 — Публічний канал для гостей **Кроки:** 1. Відкрити `/c/:slug` в режимі інкогніто. 2. Переглянути стрічку. 3. Спробувати відправити повідомлення. **Очікування:** - Read-only режим - Кнопка "Приєднатися до спільноти" ## 4. Follow-ups Tests ### FU-01 — Створення follow-up **Кроки:** 1. Клік по меню повідомлення → "Створити follow-up". 2. Заповнити форму. **Очікування:** - `POST /followups → 201` - Follow-up у списку `/followups` ### FU-02 — Список follow-ups **Очікування:** - `GET /followups` працює - Фільтрація по статусу ## 5. Projects & Tasks ### PRJ-01 — Створення проєкту **Кроки:** - Натиснути "Новий проєкт". - Ввести назву. **Очікування:** - `POST /projects → 201` - Проєкт у списку ### TASK-01 — Створення задачі **Кроки:** - Додати нову задачу в Backlog. **Очікування:** - `POST /projects/{id}/tasks → 201` - Задача показана у колонці ### TASK-02 — Зміна статусу задачі **Кроки:** - Клікнути задачу → змінити статус. **Очікування:** - Статус змінений у UI - API можна stub (MVP) ## 6. Agents ### AG-01 — Список агентів **Очікування:** - `GET /agents` ще до онбордингу повертає 0 - Після Step 5 → ≥1 ### AG-02 — Чат із агентом (stub) **Очікування:** - Агент відповідає на повідомлення - Історія залишається до reload ## 7. Error Handling ### ERR-01 — 400 Bad Request **Наприклад:** - порожнє поле назви спільноти - некоректний email **Очікування:** - toast з повідомленням - API не падає в консоль ### ERR-02 — 403 Forbidden **Наприклад:** - спроба писати в приватний канал без доступу **Очікування:** - toast: "Недостатньо прав" ### ERR-03 — 404 Not Found - неправильний канал - неправильний проєкт Очікування: - зрозуміла сторінка 404 - ніяких uncaught errors ## 8. Performance (MVP) ### PERF-01 — Chat latency Очікування: - p95 ≤ 300 мс для `GET /messages` та `POST /messages`. ### PERF-02 — WebSocket stability Очікування: - Нові повідомлення з'являються ≤100 мс після відправки. - З'єднання не падає при простому використанні. ## 9. Accessibility (basic) ### A11Y-01 — Keyboard navigation - Усі кнопки фокусуються - Enter / Space працюють ### A11Y-02 — Контрасти - Текст контрастний (WCAG 2.1 AA) ## 10. Успішність MVP (визначення) MVP вважається стабільним, якщо: - **Усі критичні E2E проходять.** - **Немає P0/P1 багів** (блокуючих). - **Менше 5 P2 багів.** - **Чат та онбординг працюють стабільно.** - **2 реальні команди використовують систему кілька днів без критичних помилок.**