-
Úspešné prihlásenie
Vstupné podmienky: Používateľ má otvorenú aplikáciu na stránke s prihlásením a je pripojený na Internet Výstupné podmienky: Používateľ sa presunie na domovskú stránku aplikácie Postup: 1. Používateľ klikne na tlačidlo Prihlásiť sa - Zobrazí sa prihlasovací formulár
- Používateľ vyplní pole pre e-mailovú adresu
- Používateľ vyplní pole pre heslo
- Používateľ klikne na tlačidlo Prihlásiť sa | | Výsledok: | PASS |
-
Vytvorenie receptu
Vstupné podmienky Používateľ je prihlásený a nachádza sa na domovskej stránke. Aplikácia je pripojená na Internet. Výstupné podmienky V aplikácii pribudne nové jedlo, ktoré sa uloží do databázy. Postup 1. Používateľ stlačí tlačidlo Vytvoriť a presunie sa na obrazovku pre vytvorenie - Používateľ zvoli možnosť Vytvoriť receptu kliknutím na príslušné tlačidlo
- Zobrazí sa obrazovka na vytvorenie receptu, kde používateľ vyplní názov receptu a pridá popis
- Používateľ klikne na tlačidlo Pridať surovinu
- Zobrazí sa obrazovka s vyhľadávaním surovín
- Používateľ vyhľadá požadovanú surovinu, zadá množstvo a klikne na tlačidlo Pridať
- Opäť sa zobrazí obrazovka na vytvorenie receptu
- Používateľ opakuje kroky 4. až 7., kým nepridá všetky suroviny.
- Používateľ klikne na tlačidlo Uložiť | | Výsledok | PASS |
-
Log jedla
Vstupné podmienky Používateľ je prihlásený a nachádza sa na domovskej stránke. Aplikácia je pripojená na Internet. Výstupné podmienky Do používateľovho logu pribudne nové jedlo a prepočíta sa príjem jeho kalórií za daný deň Postup 1. Používateľ stlačí tlačidlo Pridať a presunie sa na obrazovku pre Pridanie - Používateľ klikne na tlačidlo Pridať jedlo
- Zobrazí sa obrazovka s vyhľadávaním
- Používateľ napíše do vyhľadávača názov jedla
- Používateľ vyberie jedlo, vpíše množstvo a klikne na tlačidlo Pridať
- Zobrazí sa domovská stránka | | Výsledok | PASS |
-
Neúspešná registrácia
Vstupné podmienky Používateľ má otvorenú aplikáciu na stránke s prihlásením a je pripojený na Internet Výstupné podmienky Používateľovi sa nepodarí zaregistrovať a zostane na obrazovke s registráciou Postup 1. Používateľ klikne na tlačidlo registrovať sa a zobrazí sa obrazovka s registráciou - Používateľ vyplní polia pre email, meno a heslo
- Používateľ do poľa pre kontrolu hesla zadá nesprávne heslo
- Používateľ klikne na tlačidlo Registrovať sa
- Zobrazí sa červený text “Heslá sa nezhodujú” | | Výsledok | FAIL |
-
Neúspešné vyhľadávanie
Vstupné podmienky Používateľ sa nachádza na stránke pre vytvorenie receptu a aplikácia je pripojená na Internet Výstupné podmienky Používateľovi sa nepodarí vyhľadať surovinu a zostane na obrazovke s vyhľadávaním Postup 1. Používateľ klikne na tlačidlo Pridať surovinu - Zobrazí sa obrazovka vyhľadávania
- Používateľ do poľa na vyhľadávanie zadá surovinu, ktorá sa nenachádza v databáze
- Na mieste, kde sa bežne zobrazujú výsledky vyhľadávania, sa vypíše “Nenašla sa žiadna zhoda” | | Výsledok | FAIL |
-
Prihlásenie do aplikácie
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky Server verifikoval používateľa a vrátil jeho dáta Postup 1. Na server príde požiadavka POST s prihlasovacími údajmi - Server autentifikuje používateľa
- Server vráti status kód 200
- Na server prídu 2 požiadavky GET s dopytom na používateľov príjem a jeho históriu
- Server odpovie s danými údajmi | | Výsledok | PASS |
-
Pridanie jedla do logu
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky Do databázy sa pridá záznam s jedlom Postup 1. Na server príde požiadavka GET s názvom jedla - Server odpovie zoznamom jedál z databázy, ktoré sa zhodujú s daným názvom
- Na server príde požiadavka POST s ID jedla
- Do databázy sa uloží nový záznam
- Server vráti status kód 200 | | Výsledok | PASS |
-
Upravenie používateľovej hmotnosti
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky V databáze sa zmení záznam s váhou Postup 1: Na server príde požiadavka GET na používateľove údaje - Server odpovie s danými údajmi
- Na server príde požiadavka PUT s upravenými údajmi 4: Do databázy sa vloží upravená hodnota
- Server odpovie kódom 200 | | Výsledok | PASS |
-
Neúspešná registrácia - email už existuje
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky Server vráti chybový status kód Postup 1. Na server príde požiadavka POST s registračnými údajmi - Server skontroluje, či sa v databáze nachádza používateľov e-mail
- Server vráti kód 409 (Conflict) | | Výsledok | FAIL |
-
Neúspešné prihlásenie - nesprávne heslo
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky Server vráti chybový status kód Postup 1. Na server príde požiadavka POST s prihlasovacími údajmi - Server skontroluje, či prijaté údaje súhlasia s údajmi v databáze
- Server vráti kód 401 (Unauthorized) | | | Výsledok | FAIL | |
-
Prázdne pole pri úprave receptu
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky Server vráti chybový status kód Postup 1. Na server príde požiadavka GET s ID receptu - Server vráti údaje o danom recepte a kód 200 (OK)
- Na server príde požiadavka PUT s ID receptu a dátami, ktoré sa majú zmeniť. Jedno z polí je prázdne
- Server vráti kód 400 (Bad Request) a údaje v databáze sa nezmenia | | Výsledok | FAIL |
-
Nesprávny formát pri úprave používateľských údajov
Vstupné podmienky Server je spustený a pripojený na databázu Výstupné podmienky Server vráti chybový status kód Postup 1. Na server príde požiadavka GET s ID používateľa - Server vráti údaje o používateľovi a kód 200 (OK)
- Na server príde požiadavka PUT s novými údajmi o používateľovi, parameter váha nie je číslo
- Server vráti kód 400 (Bad Request) a údaje v databáze sa nezmenia | | Výsledok | FAIL |
[GET endpoint] /meals
[Príklad] /meals?name=spagety
- name (string) - text, ktorý bol zadaný do vyhľadávacieho poľa
{
"meals": [
{
"id": 1,
"name": "spagety",
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10
},
{
"id": 44,
"name": "spagety alfredo",
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10
}
]
}[GET endpoint] /foods
[Príklad] /foods?name=flakes
- name (string) - text, ktorý bol zadaný do vyhľadávacieho poľa
{
"foods": [
{
"id": 1,
"name": "Frosted flakes",
"brand": "Kellogs",
"calories": 486,
"carbohydrates": 80,
"protein": 20,
"fat": 10
},
{
"id": 44,
"name": "Corn flakes",
"brand": "Kellogs"
"calories": 486,
"carbohydrates": 80,
"protein": 20,
"fat": 10
}
]
}[GET endpoint] /log
[Príklad] /log?userId=1&date=2022-03-10
- userId (integer) - ID používateľa
- date (timestamp) - dátum
{
"totalCalories": 650,
"totalProtein": 50,
"totalFat": 30,
"totalCarbs": 50,
"logs": [
{
"name": "jahodový jogurt",
"amount": 150,
"time": "7:30",
"calories": 150
},
{
"mealName": "špagety",
"amount": 300,
"time": "12:00",
"calories": 300
},
{
"mealName": "šalát",
"amount": 200,
"time": "16:30",
"calories": 200
}
]
}[GET endpoint] /meal
[Príklad] /meal?id=31
- id (integer) - ID jedla
{
"id": 31,
"name": "Špagety",
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10,
"description": "Moje skvelé špagety",
"amount": 300,
"ingredients": [
{
"id": 1,
"name": "cestoviny",
"brand": "K-classic",
"amount": 20
},
{
"id": 2,
"name": "morca-della",
"brand": "Hame",
"amount": 20
}
]
}[GET endpoint] /food
[Príklad] /food?id=2
- id (integer) - ID potraviny
{
"id": 2,
"name": "morca-della",
"brand": "Hame",
"amount": 20,
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10,
}[GET endpoint] /user
[Príklad] /user?id=3
- id (integer) - ID používateľa
{
"firsName": "Peter",
"lastName": "Zdravý",
"email": "peter.zdravy@pokec.sk",
"weight": 100,
"height": 185,
"birthday": 1995-10-5,
"caloriesGoal": 2200,
"photo": "https://petkovafotka.com/petko"
}[POST endpoint] /meal
{
"name": "Ivkove špagety",
"description": "Moje mňam mňam špagetky",
"userId": 3,
"amount": 20,
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10,
"isPublic": true,
"ingredients": [
{
"id": 4,
"amount": 20,
},
{
"id": 5,
"amount": 10,
}
]
}{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[POST endpoint] /food
{
"name": "Jablko",
"description": "Jablko červené",
"userId": 3,
"brand": "Veselé jablko zo Žitného ostrova",
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10,
"isPublic": true,
}{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[POST endpoint] /log
{
"userId": 3,
"name": "Pizza Hawaii",
"date": 2022-03-10 15:30,
"amount": 400,
"calories": 800,
"carbs": 80,
"protein": 20,
"fat": 300
}{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[POST endpoint] /login
{
"email": "marek.parek@oharek.com",
"password": "123styri"
}{
"status": 200,
"message": "OK"
}
{
"status": 401,
"message": "Unauthorized"
}[POST endpoint] /register
{
"email": "marek.parek@oharek.com",
"password": "123styri",
}{
"status": 201,
"message": "Created"
}
{
"status": 409,
"message": "Conflict"
}[PUT endpoint] /meal
{
"id": 7,
"name": "Ivkove špagety",
"description": "Moje mňam mňam špagetky",
"userId": 3,
"amount": 20,
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10,
"isPublic": true,
"ingredients": [
{
"id": 4,
"amount": 20,
},
{
"id": 5,
"amount": 10,
}
]
}{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[PUT endpoint] /food
{
"id": 5,
"name": "Jablko",
"description": "Jablko červené",
"brand": "Veselé jablko zo Žitného ostrova",
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10,
"isPublic": true,
}{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[PUT endpoint] /log
{
"id": 3,
"name": "Pizza Hawaii",
"date": 2022-03-10 14:25,
"amount": 20,
"calories": 486,
"carbs": 80,
"protein": 20,
"fat": 10
}{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[PUT endpoint] /user
{
"id": 10,
"firsName": "Peter",
"lastName": "Zdravý",
"email": "peter.zdravy@pokec.sk",
"weight": 100,
"height": 185,
"birthday": 1995-10-5,
"caloriesGoal": 2200,
"photo": "https://petkovafotka.com/petko"
}
{
"status": 201,
"message": "Created"
}
{
"status": 422,
"message": "Unprocessable Entity"
}[DELETE endpoint] /meal
- id (integer) - ID jedla
{
"status": 200,
"message": "OK"
}
{
"status": 404,
"message": "Not Found"
}[DELETE endpoint] /food
- id (integer) - ID potraviny
{
"status": 200,
"message": "OK"
}
{
"status": 404,
"message": "Not Found"
}[DELETE endpoint] /log
- id (integer) - ID položky
{
"status": 200,
"message": "OK"
}
{
"status": 404,
"message": "Not Found"
}[DELETE endpoint] /user
- id (integer) - ID používateľa
{
"status": 200,
"message": "OK"
}
{
"status": 404,
"message": "Not Found"
}





.png)


