Skip to content

# 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 реальні команди використовують систему кілька днів без критичних помилок.