Files
microdao-daarion/docs/cursor/07_testing_checklist_mvp.md

6.5 KiB
Raw Blame History

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 (обов'язково)

Кроки:

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