-
Notifications
You must be signed in to change notification settings - Fork 0
Frontend Functional Testing
TilenBrunec edited this page Jun 5, 2026
·
3 revisions
| Issue | S5-01 |
| Datum | 3. 6. 2026 |
| Framework | Vitest + React Testing Library |
| Ciljna pokritost | ≥ 80% |
| Avtor | Tilen Brunec |
Vsi testi so implementirani kot komponentni in integracijski testi z uporabo Vitest ogrodja in React Testing Library. HTTP klici so prestreženi z MSW (Mock Service Worker). To pomeni:
- Brez pravih klicev na zaledni sistem — vse je simulirano z MSW strežnikom
- Testi so neodvisni drug od drugega — MSW se ponastavi po vsakem testu
- Komponente se upodabljajo v JSDOM okolju, ki simulira brskalnik
- Realni konteksti (AuthContext, TopbarContext) so zamenljivi z
mockrazličicami - Čisto testno okolje — brez stranskih učinkov na produkcijsko bazo
| Testna datoteka | Skupaj | Pravilen | Robni | Napačen | Poročilo |
|---|---|---|---|---|---|
LoginPage.test.tsx |
5 | 4 | 1 | 0 | TEST REPORT pages |
DashboardPage.test.tsx |
3 | 2 | 1 | 0 | TEST REPORT pages |
RegisterPage.test.tsx |
8 | 3 | 1 | 4 | TEST REPORT pages |
QuestionnaireWizard.test.tsx |
6 | 5 | 1 | 0 | TEST REPORT questionnaire |
WakeBackend.test.tsx |
6 | 4 | 1 | 1 | TEST REPORT components |
StatCard.test.tsx |
9 | 9 | 0 | 0 | TEST REPORT components |
Bar.test.tsx |
8 | 6 | 2 | 0 | TEST REPORT components |
ComicBtn.test.tsx |
8 | 6 | 1 | 1 | TEST REPORT components |
StudentQuiz.test.tsx |
8 | 6 | 2 | 0 | TEST REPORT quiz |
QuizSession.test.tsx |
7 | 6 | 1 | 0 | TEST REPORT quiz |
StudentModules.test.tsx |
8 | 6 | 2 | 0 | TEST REPORT modules |
ProfessorModules.test.tsx |
11 | 11 | 0 | 0 | TEST REPORT modules |
moduleApi.test.ts |
13 | 13 | 0 | 0 | TEST REPORT modules |
| Skupaj | 100 | 81 | 13 | 6 |
Skupaj testov: 100 Pravilen: 81 (81%) Robni: 13 (13%) Napačen: 6 (6%)
| Področje | Testov | Delež |
|---|---|---|
| Strani (pages) | 16 | 16% |
| Upravljanje modulov | 32 | 32% |
| Kvizi | 15 | 15% |
| Vprašalnik (VARK) | 6 | 6% |
| UI komponente | 31 | 31% |
| Oznaka | Pomen | Primer |
|---|---|---|
| Pravilen primer | Normalen potek — vse deluje kot pričakovano | Stran se upodobi, gumb kliče API |
| Robni primer | Mejni pogoji — prazni podatki, stanja nalaganja | Nov učenec brez vpisov dobi prazno stanje |
| Napačen primer | Napačni vhodi ali napake strežnika | Vnos prekratkega uporabniškega imena → sporočilo o napaki |
| Tveganje | Pokrito | Kako |
|---|---|---|
| Napačna vloga prikaže napačno stran | ✅ |
DashboardPage testi za ucenec in ucitelj
|
| Prikazovanje brez naloženih podatkov profila | ✅ | Loading state testi v DashboardPage, RegisterPage
|
| Validacija registracijske forme | ✅ | 4 negativni testi v RegisterPage
|
| Napaka registracijskega API-ja (409) | ✅ | shows error message when API returns an error |
| Nedosegljiv zaledni sistem ob zagonu | ✅ |
WakeBackend testi za stanja preverjanja in buđenja |
| Prazni seznami kvizov | ✅ |
StudentQuiz empty state test |
| Kviz s 3+ poskusi (brez XP nagrade) | ✅ | shows "0 XP ON RETRY" after 3 or more attempts |
| Brisanje modula brez potrditve | ✅ |
ProfessorModules confirm dialog test |
| Manjkajoča avtorizacijska glava v API klicih | ✅ |
moduleApi testi za Authorization: Bearer
|
| Napačna HTTP metoda ali pot | ✅ | Vsi moduleApi testi preverjajo metodo in URL |
| Prazni vpisi učenca | ✅ |
StudentModules empty enrollment state test |
| Prekoračitev vrednosti naprednice (Bar) | ✅ |
clamps fill width at 100% test |
| Onemogočen gumb ne sproži klicanega dogodka | ✅ |
ComicBtn disabled test |
- TEST REPORT pages — Prijava, registracija, nadzorna plošča
- TEST REPORT modules — Moduli (učenec, učitelj), API odjemalec
- TEST REPORT quiz — Seja kviza, vozlišče kvizov
- TEST REPORT questionnaire — VARK vprašalnik
- TEST REPORT components — UI primitivne komponente