---
title: "v1.0 Smoke Test Checklist"
status: active
audience: [maintainer]
language: nl
last_updated: 2026-05-04
---

# v1.0 Smoke Test Checklist

Loop deze checklist door **vóór** je v1.0.0 tagt. Alleen handmatig — geen automation.
Time-budget: ~15 min.

**Productie-URL:** https://scrum4me.jp-visser.nl

---

## 1. Auth + dashboard (3 min)

- [ ] **Demo-login:** `demo` / `demo1234` → dashboard rendert, alle write-acties geven 403
- [ ] **Logout** vanuit user-menu → redirect naar `/login`
- [ ] **Register** met nieuwe gebruikersnaam → succesvol, redirect naar `/dashboard`
- [ ] **Login fout-flow:** verkeerd wachtwoord → generieke fout, geen leak

## 2. Mobile UA-redirect (2 min)

- [ ] DevTools mobile-emulatie iPhone 12 (UA-spoof) → log in → automatisch naar `/m/products/[id]/solo` (of `/m/settings` zonder actief product)
- [ ] Tablet-UA (iPad) → blijft op `/dashboard`
- [ ] Desktop blijft `/dashboard`

## 3. Product → PBI → Story → Sprint → Task happy-path (5 min)

- [ ] **Product aanmaken** (eigen account) → naam, code, DoD ingevuld
- [ ] **PBI aanmaken** in Product Backlog kolom → priority + status
- [ ] **Story aanmaken** onder PBI → titel + acceptatiecriteria
- [ ] **Sprint starten** met sprint-goal
- [ ] **Story slepen** vanuit Product Backlog naar Sprint Backlog
- [ ] **Task aanmaken** in Sprint → titel + implementation_plan
- [ ] **Task drag-and-drop** in Solo Paneel: To Do → Bezig → Klaar
- [ ] **Story-status auto-promotie:** alle taken DONE → story status DONE

## 4. Mobile shell (2 min — op echte phone of DevTools landscape iPhone 12)

- [ ] `/m/products/[id]` rendert in tab-mode (3 tabs onderaan: Backlog/Solo/Settings)
- [ ] Portrait-orientatie → rotate-overlay
- [ ] `/m/products/[id]/solo` toont 3-koloms kanban met horizontal scroll
- [ ] Task-detail dialog opent full-screen (`<640px`) — sticky header + footer bereikbaar
- [ ] `/m/settings` toont username + actieve product + logout-knop met bevestiging
- [ ] `/m/pair` toont QR-pairing-confirmation (M10 intact)
- [ ] **Geen** NavBar / AppIcon / Scrum4Me-tekst zichtbaar op `/m/*`

## 5. Edit-flows (1 min)

- [ ] **Pencil-icon op product-card** (dashboard hover) → ProductDialog opent
- [ ] **PBI ✎-icoon** (hover) → PbiDialog opent en saved
- [ ] **Story ✎-icoon** (sprint screen Sprint Backlog) → StoryDialog opent
- [ ] **Task ✎-icoon** (Taken-kolom) → TaskDialog opent

## 6. Demo-policy (1 min)

Inloggen als demo-gebruiker:
- [ ] PBI/Story/Task create-knoppen disabled met DemoTooltip
- [ ] Edit-iconen disabled
- [ ] Logout-knop bereikbaar (demo mag uitloggen)
- [ ] Productselector gaat door op view, maar Activeer-acties geven 403

## 7. Rate-limiting (steekproef, 1 min)

- [ ] Probeer 31 PBIs in <60s aan te maken via UI → 31e geeft toast "Te veel acties achter elkaar"
- [ ] (Optioneel) `bash scripts/test-api.sh` → alle endpoints groen

## 8. Realtime (1 min)

- [ ] Open `/products/[id]/solo` in twee browsers (één als owner, één als teamlid)
- [ ] Status-toggle in browser A → ziet binnen 1s in browser B (SSE-pipe)
- [ ] Claude-vraag binnenkrijgen → bell-badge verschijnt zonder refresh

## 9. Debug-routes (productie afgeschermd)

- [ ] `https://scrum4me.jp-visser.nl/debug-env` → **404** (NODE_ENV-guard)
- [ ] `https://scrum4me.jp-visser.nl/debug-realtime` → **404**
- [ ] `https://scrum4me.jp-visser.nl/api/debug/realtime-stream` → **404**

## 10. Lighthouse op happy-path

- [ ] `/login` — a11y ≥95
- [ ] `/dashboard` — a11y ≥95
- [ ] `/products/[id]` — a11y ≥95 (was 86 vóór PR #88)
- [ ] `/products/[id]/sprint` — a11y ≥95
- [ ] `/products/[id]/solo` — a11y ≥95

> Performance score in dev-mode is misleidend (dev-bundles, Chrome-extensies).
> Test op productie of `npm run build && npm run start` voor betrouwbare cijfers.

## 11. Rollback-trigger

Als één van bovenstaande faalt:
- Vercel dashboard → Deployments → vorige Ready deploy → "Promote to Production"
- Issue-titel: "v1.0 smoke-test failure: \<korte beschrijving\>"
- Tag v1.0.0 NIET totdat alles groen is
