Dokumentace
Centrum nápovědyTestováníTestovací strategie
docs/cs/06-testing/testing-strategy.md
Testovací strategie
Testovací filozofie OPORA je formována dvěma klíčovými vlastnostmi:
- deterministický doménový engine
- bezpečnostní a correctness obálka multi-tenant SaaS
Cíle
- Prokázat deterministickou správnost výpočetních výstupů.
- Zabránit regresím v izolaci tenantů (auth/org scoping, IDOR, leaky joins).
- Ověřit kritické uživatelské journey (projekty, editace, výsledky, export gating).
Testovací vrstvy
Unit testy (doména)
Scope:
- čisté výpočetní funkce
- normalizace a validace
- doménové error typy
Očekávání:
- rychlé, deterministické, bez sítě a databáze
Integrační testy (hranice aplikace + infrastruktury)
Scope:
- orchestrace use-case (create/update/calculate/export)
- pořadí guard logiky (auth → org → RBAC → subscription)
- Prisma query scoping a ownership checky
Očekávání:
- používat test databáze nebo izolovaná schémata
- validovat negativní případy (access denied, not found, gating)
End-to-end testy (uživatelské journey)
Scope:
- marketing → auth → post-auth → onboarding → projekty → editace → výsledky → export
- multi-org volba a přepínání organizací
Očekávání:
- běžet proti staging-like prostředí
- explicitně ověřit redirecty a gating stránky
- browser-level smoke testy doplňují aplikační automatizaci o důkaz nad reálným UI flow
- release sign-off pro Projects flow má mít samostatně dohledatelné smoke evidence
Regression cíle (co se nesmí rozbít)
- Izolace tenantů: žádné cross-tenant čtení/zápisy.
- Determinismus: stabilní výstupy pro stabilní vstupy v rámci dané verze enginu.
- Export gating: vynucený server-side.
- Autentizace:
/app/*není přístupné bez session.