-
Notifications
You must be signed in to change notification settings - Fork 0
6. Ispitivanje programskog rješenja
Metoda getKorisnikBasicInfo(Long id) iz razreda KorisnikController, koja vraća osnovne informacije o korisniku na temelju njegovog ID-a.
-
Ulazni podaci:
- ID korisnika:
1 - Pretpostavka: Korisnik s ID-em
1postoji u bazi podataka.
- ID korisnika:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite je li baza podataka ispravno postavljena s korisnikom koji ima ID
1. - Pošaljite GET zahtjev na endpoint:
GET /korisnici/1. - Provjerite HTTP status odgovora i sadržaj tijela odgovora.
- Pokrenite aplikaciju i provjerite je li baza podataka ispravno postavljena s korisnikom koji ima ID
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora:
{ "id": 1, "lozinka": "hashed_password", "username": "testuser", "role": 1, "godine": 25, "spol": "M" } - Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID korisnika:
999 - Pretpostavka: Korisnik s ID-em
999ne postoji u bazi podataka.
- ID korisnika:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da korisnik s ID-em
999nije prisutan u bazi podataka. - Pošaljite GET zahtjev na endpoint:
GET /korisnici/999. - Provjerite HTTP status odgovora i tijelo odgovora.
- Pokrenite aplikaciju i provjerite da korisnik s ID-em
-
Dobiveni rezultati:
- HTTP status:
404 Not Found - Tijelo odgovora: Prazno.
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID korisnika:
-5
- ID korisnika:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju.
- Pošaljite GET zahtjev na endpoint:
GET /korisnici/-5. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
400 Bad Request(ovisno o implementaciji provjere ID-a u kontroleru ili servisu). - Tijelo odgovora: Poruka o pogrešci (ako postoji).
- Prolaz ispitivanja
- HTTP status:
- Testirane su različite situacije za metodu
getKorisnikBasicInfo(Long id). - Pokriveni su redovni slučaj, rubni uvjet (nepostojeći ID), i neispravan ulazni podatak (negativan ID).
Metoda deleteKorisnik(Long id) iz razreda KorisnikController, koja briše korisnika na temelju njegovog ID-a.
-
Ulazni podaci:
- ID korisnika:
2 - Pretpostavka: Korisnik s ID-em
2postoji u bazi podataka.
- ID korisnika:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite je li baza podataka ispravno postavljena s korisnikom koji ima ID
2. - Pošaljite DELETE zahtjev na endpoint:
DELETE /korisnici/2. - Provjerite HTTP status odgovora i sadržaj tijela odgovora.
- Pokrenite aplikaciju i provjerite je li baza podataka ispravno postavljena s korisnikom koji ima ID
-
Dobiveni rezultati:
- HTTP status:
204 No Content - Tijelo odgovora: Prazno.
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID korisnika:
100 - Pretpostavka: Korisnik s ID-em
100ne postoji u bazi podataka.
- ID korisnika:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da korisnik s ID-em
100nije prisutan u bazi podataka. - Pošaljite DELETE zahtjev na endpoint:
DELETE /korisnici/100. - Provjerite HTTP status odgovora i tijelo odgovora.
- Pokrenite aplikaciju i provjerite da korisnik s ID-em
-
Dobiveni rezultati:
- HTTP status:
404 Not Found - Tijelo odgovora: Poruka o pogrešci (ako postoji).
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID korisnika:
-10
- ID korisnika:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju.
- Pošaljite DELETE zahtjev na endpoint:
DELETE /korisnici/-10. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
400 Bad Request(ovisno o implementaciji provjere ID-a u kontroleru ili servisu). - Tijelo odgovora: Poruka o pogrešci (ako postoji).
- Prolaz ispitivanja
- HTTP status:
- Testirane su različite situacije za metodu
deleteKorisnik(Long id). - Pokriveni su redovni slučaj, rubni uvjet (nepostojeći ID), i neispravan ulazni podatak (negativan ID).
Metoda vratiSveKorisnike() iz razreda KorisnikController, koja vraća popis svih korisnika iz baze podataka.
-
Ulazni podaci:
- Nema dodatnih ulaznih podataka, jer metoda vraća sve korisnike.
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite je li baza podataka ispravno postavljena s nekoliko korisnika (npr. korisnik s ID-em
1,2,3itd.). - Pošaljite GET zahtjev na endpoint:
GET /korisnici. - Provjerite HTTP status odgovora i sadržaj tijela odgovora.
- Pokrenite aplikaciju i provjerite je li baza podataka ispravno postavljena s nekoliko korisnika (npr. korisnik s ID-em
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora:
[ { "id": 1, "ime": "Marko", "prezime": "Horvat", "email": "marko@email.com", "rola": "ROLE_STUDENT" }, { "id": 2, "ime": "Ivana", "prezime": "Ivić", "email": "ivana@email.com", "rola": "ROLE_ADMIN" }, { "id": 3, "ime": "Petar", "prezime": "Perić", "email": "petar@email.com", "rola": "ROLE_DJELATNIK" } ] - Provjerite da su svi korisnici ispravno prikazani.
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- Pretpostavka: Baza podataka je prazna (nema korisnika).
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da nema korisnika u bazi podataka.
- Pošaljite GET zahtjev na endpoint:
GET /korisnici. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora:
[]
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- Pretpostavka: Korisnik koji šalje zahtjev nije administrator.
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da korisnik koji šalje zahtjev nije administrator.
- Pošaljite GET zahtjev na endpoint:
GET /korisnici. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
403 Forbidden - Tijelo odgovora: Prazno ili poruka o nedostatku ovlasti.
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- Pretpostavka: Endpoint nije ispravno postavljen ili je netočan.
-
Postupak provođenja ispitivanja:
- Pošaljite GET zahtjev na netočan endpoint, npr.
GET /korisnici/all. - Provjerite HTTP status odgovora i tijelo odgovora.
- Pošaljite GET zahtjev na netočan endpoint, npr.
-
Dobiveni rezultati:
- HTTP status:
404 Not Found - Tijelo odgovora:
"Endpoint nije pronađen." - Prolaz ispitivanja
- HTTP status:
- Testirali smo metodu
vratiSveKorisnike()za različite scenarije, uključujući uspješan zahtjev, praznu bazu podataka, neovlašteni pristup i nevalidan endpoint. - Testiranje obuhvaća normalne funkcionalnosti i rubne uvjete. """
Metoda listMenzas() iz razreda MenzaController, koja vraća sve menze iz baze podataka.
-
Ulazni podaci:
- Nema ulaznih podataka jer metoda vraća sve menze.
- Pretpostavka: Baza podataka sadrži menze.
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da baza podataka sadrži menze.
- Pošaljite GET zahtjev na endpoint:
GET /menza. - Provjerite HTTP status odgovora i sadržaj tijela odgovora.
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora:
[ { "id": 1, "imeMenze": "Menza 1", "lokacija": "Zagreb", "radnaVremena": [...], "jelovnik": [...] }, { "id": 2, "imeMenze": "Menza 2", "lokacija": "Split", "radnaVremena": [...], "jelovnik": [...] } ] - Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- Nema menzi u bazi podataka.
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da baza podataka ne sadrži menze.
- Pošaljite GET zahtjev na endpoint:
GET /menza. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora: Prazna lista
[]. - Prolaz ispitivanja
- HTTP status:
Metoda getMenzaData(Long id) iz razreda MenzaController, koja vraća podatke o menzi na temelju ID-a.
-
Ulazni podaci:
- ID menze:
1 - Pretpostavka: Menza s ID-em
1postoji u bazi podataka.
- ID menze:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da menza s ID-em
1postoji u bazi podataka. - Pošaljite GET zahtjev na endpoint:
GET /menza/1. - Provjerite HTTP status odgovora i sadržaj tijela odgovora.
- Pokrenite aplikaciju i provjerite da menza s ID-em
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora:
{ "id": 1, "imeMenze": "Menza 1", "lokacija": "Zagreb", "radnaVremena": [...], "jelovnik": [...] } - Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID menze:
999 - Pretpostavka: Menza s ID-em
999ne postoji u bazi podataka.
- ID menze:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da menza s ID-em
999ne postoji u bazi podataka. - Pošaljite GET zahtjev na endpoint:
GET /menza/999. - Provjerite HTTP status odgovora i tijelo odgovora.
- Pokrenite aplikaciju i provjerite da menza s ID-em
-
Dobiveni rezultati:
- HTTP status:
404 Not Found - Tijelo odgovora: Prazno.
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID menze:
-5
- ID menze:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju.
- Pošaljite GET zahtjev na endpoint:
GET /menza/-5. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
400 Bad Request - Tijelo odgovora: Poruka o pogrešci (ako postoji).
- Prolaz ispitivanja
- HTTP status:
- Testirane su različite situacije za metode
listMenzas()igetMenzaData(Long id). - Pokriveni su redovni slučaj, rubni uvjet (nepostojeći ID), i neispravan ulazni podatak (negativan ID).
Metoda getJelovnik(Long id) iz razreda MenzaController, koja vraća jelovnik određene menze na temelju njenog ID-a.
-
Ulazni podaci:
- ID menze:
1 - Pretpostavka: Menza s ID-em
1postoji u bazi podataka i ima definirani jelovnik.
- ID menze:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite je li menza s ID-em
1prisutna u bazi podataka. - Pošaljite GET zahtjev na endpoint:
GET /menza/1/jelovnik. - Provjerite HTTP status odgovora i sadržaj tijela odgovora.
- Pokrenite aplikaciju i provjerite je li menza s ID-em
-
Dobiveni rezultati:
- HTTP status:
200 OK - Tijelo odgovora:
[ { "naziv": "Juha", "opis": "Krem juha od bundeve", "cijena": 15.50 }, { "naziv": "Pečena piletina", "opis": "Pečena piletina s prilogom", "cijena": 25.00 } ] - Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID menze:
999 - Pretpostavka: Menza s ID-em
999ne postoji u bazi podataka.
- ID menze:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju i provjerite da menza s ID-em
999nije prisutna u bazi podataka. - Pošaljite GET zahtjev na endpoint:
GET /menza/999/jelovnik. - Provjerite HTTP status odgovora i tijelo odgovora.
- Pokrenite aplikaciju i provjerite da menza s ID-em
-
Dobiveni rezultati:
- HTTP status:
404 Not Found - Tijelo odgovora: Prazno.
- Prolaz ispitivanja
- HTTP status:
-
Ulazni podaci:
- ID menze:
-5
- ID menze:
-
Postupak provođenja ispitivanja:
- Pokrenite aplikaciju.
- Pošaljite GET zahtjev na endpoint:
GET /menza/-5/jelovnik. - Provjerite HTTP status odgovora i tijelo odgovora.
-
Dobiveni rezultati:
- HTTP status:
400 Bad Request(ovisno o implementaciji provjere ID-a u kontroleru ili servisu). - Tijelo odgovora: Poruka o pogrešci (ako postoji).
- Prolaz ispitivanja
- HTTP status:
- Testirana je funkcionalnost dohvaćanja jelovnika za određenu menzu.
- Pokriveni su redovni slučaj (postojeća menza s jelovnikom), rubni uvjet (nepostojeća menza), i neispravan ulazni podatak (negativan ID menze). """
Ispitni slučaj:
- Ulazni podaci:
- Email: a7031186@gmail.com
- Password: password123
Korisnik je uspješno prijavljen i preusmjeren na početnu stranicu (/menze).
- Otvorena stranica za prijavu (http://localhost:5173/login/student).
- Kliknut gumb za prijavu.
- Uneseni podaci u polja za email i lozinku.
- Autentifikacija
- Provjereno je li URL nakon prijave "/menze" i prikazuje li se početna stranica (home page).
-
Dobiveni rezultati: Korisnik je uspješno prijavljen. PROLAZ

-
Izvorni kod: LoginTest
Ispitni slučaj:
- Ulazni podaci:
- Email korisnika kojeg želimo izbrisati: user10@gmail.com
Odabrani korisnik je blokiran.
- Otvorena stranica za prijavu (http://localhost:5173/login/student).
- Prijaviti se na račun sa administratorskim ovlastima.
- Administrator odabire opciju za upravljanje korisnicima.
- Pronaći u listi korisnika račun koji želimo izbrisati.
- Administrator odabire korisnika i opciju "Delete User".
-
Dobiveni rezultati: Korisnik je uspješno blokiran. PROLAZ

-
Izvorni kod: DeleteUserTest
Ispitni slučaj:
- Ulazni podaci:
- Email korisnika čiju rolu treba promijeniti: user2@gmail.com
- Nova uloga (role) korisnika: Admin
Administrator uspješno mijenja ulogu (role) korisnika na "Admin".
- Otvorena stranica za prijavu (http://localhost:5173/login/student).
- Prijaviti se na račun sa administratorskim ovlastima.
- Administrator odabire opciju za upravljanje korisnicima.
- Pronaći u listi korisnika račun kojem želimo promijeniti ovlasti.
- Administrator odabire korisnika i mijenja njegovu ulogu (role) u ovom slučaju iz "Student" u "Admin".
-
Dobiveni rezultati: Korisniku user2@gmail.com je uspješno promijenjena uloga iz "Student" u "Admin". PROLAZ

-
Izvorni kod: ChangeRoleTest
Ispitni slučaj:
- Ulazni podaci:
- Email korisnika kojeg želimo blokirati: user10@gmail.com
Odabrani korisnik je blokiran.
- Otvorena stranica za prijavu (http://localhost:5173/login/student).
- Prijaviti se na račun sa administratorskim ovlastima.
- Administrator odabire opciju za upravljanje korisnicima.
- Pronaći u listi korisnika račun koji želimo blokirati.
- Administrator odabire korisnika i opciju "Block User".
- Dobiveni rezultati: Korisnik je uspješno blokiran. PROLAZ

- Izvorni kod: BlockUserTest
Bačićeva djeca