Initial commit: MVP structure + Cursor documentation + Onboarding components

This commit is contained in:
Apple
2025-11-13 06:12:20 -08:00
commit 5520665600
58 changed files with 7683 additions and 0 deletions

View File

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