You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Current »


Backend tests

Voor de backend zijn alle klassen genoemd die worden getest, samen met de methode in deze klassen. Dit wordt vernoemd in de onderstaande tabel. Alle testen voor de backend in dit hoofdstuk worden opgesteld door middel van unittesten. Per klasse is er een tabel waarin alle tests voor die klasse worden benoemd samen met welke methode het betreft, het verwachtte resultaat, het echte resultaat en of de test geslaagd is.

Alle klassen met methodes en een beschrijving.

Klasse

Methode

Beschrijving

LoginServicelogin()Deze methode wordt aangeroepen wanneer een gebruiker wilt inloggen en checkt of de ingevoerde informatie overeen komt met wat er in de database staat.
LocatieServicegetLocaties()Deze methode haalt alle locaties op die in de database staan.
LocatieServiceinsertNieuweBedrijfsLocatie()Doormiddel hiervan wordt een nieuwe bedrijfslocatie aangemaakt en opgeslagen.
LocatieServicepasBedrijfsLocatieAan()Hiermee kan een bestaande bedrijfslocatie aangepast worden.
LocatieServicecheckInLocaties()Met deze methode wordt er gecheckt of er een locatie bestaat met de naam die wordt meegegeven.
LocatieServiceverwijderBedrijfsLocatie()Wanneer deze methode wordt aangeroepen wordt er een bedrijfslocatie verwijderd waarvan de naam gelijk is aan de meegegeven naam.
DeclaratieAutocreateDeclaraties()Dit is een methode die wanneer aangeroepen, declaraties aanmaakt voor alle werknemers op die dag. Dit gebeurt automatisch zolang het programma runt.
DeclaratieServicedeclareerReis()Deze methode zorgt ervoor dat er een declaratie een gemaakt wordt met de meegegeven informatie.
DeclaratieServicedeclareerReisMetMeters()Deze methode wordt gebruikt door de declareerReis() methode om een reis te declareren.
DeclaratieServicegetBijlageVoorDeclaratie()Wanneer deze methode uitgevoerd wordt zal het een bepaalde bijlage van een declaratie ophalen aan de hand van de naam van de bijlage.
DeclaratieServicehaalOverzichtOp()Deze methode haalt een volledig maand overzicht aan declaraties op voor een bepaalde werknemer.
DeclaratieServicefilterDeclaratiesPerDatum()In deze methode wordt er van een lijst aan declaraties een overzicht gemaakt waarin de declaraties gegroepeerd worden per datum.
DeclaratieServiceverwijderDeclaratie()Met behulp van deze methode wordt een declaratie verwijderd met hetzelfde id als een meegegeven id.
DeclaratieServicegetMaandOverzichtAlleMedewerkers()Deze methode haalt alle declaraties op per maand, gegroepeerd per medewerker.
WerknemerServicevoegNieuweGebruikerToe()Voegt een nieuwe gebruiker toe aan de database op basis van de waardes in nieuweWerknemerDTO.
WerknemerServiceverwijderGebruiker()Verwijder een gebruiker uit de database aan de hand van de opgegeven werknemer id.
WerknemerServiceveranderWerknemerGegevens()Veranderd de gegevens van een gebruiker. Als er coördinaten worden meegegeven, wordt de locatie aangepast, als er geen coördinaten zijn worden alleen de permissies geüpdatet.
WerkplekService

getWerkplekOverzicht()

Haalt voor de opgegeven week alle informatie op over welke gebruiker op welke werkplek werkt. Geeft ook terug wie er op een thuiswerkplek staan, en wie er met verlof zijn.
WerkplekService

addWerkplek()

Voegt een nieuwe werkplek toe aan een bestaande locatie.
WerkplekService

deleteWerkplek()

Verwijderd een werkplek.
WerkplekService

updateWerkplek()

Veranderd de gegevens van een bestaande werkplek.
WerkplekService

reserveerWerkplek()

Reserveert de opgegeven werkplek voor de ingelogde gebruiker.
VerlofServiceverlofUrenAfgelopenJaarMeenemenOfUitbetalen()Deze methode wordt aangeroepen als een beheerder verlofuren van een gebruiker voor het volgend jaar wilt accoderen.
VerlofServicecalcVerlofUren()Deze methode is een hulpmethode die de werkuren berekend binnen een verlof aanvraag.
VerlofServicegetVerlofAanvragenMedewerker()Deze methode wordt aangeroepen als er verlof aanvragen opgehaald moeten worden voor een werknemer.
VerlofServicegetAlleVerlofAanvragen()Deze methode wordt aangeroepen als een beheerder, product owner of lead link alle verlof aanvragen wilt zien.
VerlofServicekeurVerlofAanvraag()Deze methode wordt aangeroepen als product owner of lead link een verlof aanvraag wilt goed of afkeuren.
VerlofServicevraagVerlofAan()Deze methode wordt aangeroepen als een gebruiker een verlof aanvraag wilt doen.
VerlofServiceverlofAanvraagOverlap()Deze methode is een hulpmethode die kijkt of er overlap is tussen een nieuwe verlof aanvraag en al bestaande.

LoginService

Methode

Test naam

Expected Result

Actual Result

Test Result

login()executeLoginWithWrongUsername()nullnull

Succes

login()executeLoginWithGoodLoginWithoutStoreUser()not nullnot nullSucces
login()executeLoginWithGoodLoginWithStoreUser()not nullnot null

Succes

LocatieService

Methode

Test naam

Expected Result

Actual Result

Test Result

insertNieuweBedrijfsLocatie()executeInsertNieuweBedrijfsLocatieMetCorrecteGegevens()Status code 201Status code 201Succes
insertNieuweBedrijfsLocatie()executeInsertNieuweBedrijfsLocatieMetSQLException()Status code 500Status code 500Succes
getLocaties()executeGetLocaties()Status code 200Status code 200Succes
getLocaties()executeGetLocatiesMetSQLException()Status code 500Status code 500Succes
pasBedrijfsLocatieAan()executePasBedrijfsLocatieAanMetCorrecteLocatie()Status code 200Status code 200Succes
pasBedrijfsLocatieAan()executePasBedrijfsLocatieAanMetFoutieveLocatie()Status code 400Status code 400Succes
checkInLocaties()executeCheckInLocatiesMetBestaandeLocatie()Status code trueStatus code trueSucces
checkInLocaties()executeCheckInLocatiesZonderBestaandeLocatie()Status code falseStatus code falseSucces
verwijderBedrijfsLocatie()executeVerwijderBedrijfsLocatieMetCorrecteGegevens()Status code 200Status code 200Succes
verwijderBedrijfsLocate()executeVerwijderBedrijfsLocatieMetWerkplekkenInLocatie()Status code 409Status code 409Succes
verwijderBedrijfsLocatie()executeVerwijderBedrijfsLocatieMetNietBestaandeLocatie()Status code 400Status code 400Succes

DeclaratieAuto

Methode

Test naam

Result

createDeclaraties()createDeclaraties()Succes

DeclaratieService

Methode

Test naam

Expected Result

Actual Result

Test Result

declareerReis()declareerReisBestaandeRoute()Status code 200Status code 200

Succes

declareerReis()declareerReisBestaandeRouteOngeldigBestand()Status code 400Status code 400Succes
declareerReis()declareerReisBestaandeRouteGeldigBestand()Status code 200Status code 200Succes
declareerReis()declareerReisOngeldigType()Status code 400Status code 400Succes
declareerReis()declareerReisDieAlBestaat()Status code 409Status code 409Succes
haalOverzichtOp()testHaalOverzichtOpMetFoutieveMaand()truetrueSucces
haalOverzichtOp()testHaalOverzichtOpMetCorrecteGegevens()truetrueSucces
verwijderDeclaratie()testVerwijderDeclaratie()Status code 200Status code 200Succes
verwijderDeclaratie()testVerwijderDeclaratieCatch()Status code 500Status code 500Succes
getMaandOverzichtAlleWerknemers()executeGetMaandOverzichtAlleWerknemers()truetrueSucces
getMaandOverzichtAlleWerknemers()executeGetMaandOverzichtAlleWerknemersMetLegeMaand()truetrueSucces
getBijlageVoorDeclaratie()haalBijlageOpVoorNietBestaandeDeclaratie()Status code 404Status code 404Succes
getBijlageVoorDeclaratie()haalNietBestaandeBijlageOp()Status code 404Status code 404Succes
getBijlageVoorDeclaratie()haalBestaandeBijlageOp()Status code 200Status code 200Succes

WerknemerService

Methode

Test naam

Expected Result

Actual Result

Test Result

voegNieuweGebruikerToe()executeVoegNieuweGebruikerToeMetDatabaseFout()Status code 500Status code 500

Succes

voegNieuweGebruikerToe()executeVoegNieuweGebruikerToeMetCorrecteGegevens()Status code 201Status code 201Succes
voegNieuweGebruikerToe()executeVoegNieuweGebruikerToeMetDubbeleGebruikersnaam()
"TestTest1"
"TestTest1"
Succes
verwijderGebruiker()

verwijderNietBestaandeGebruiker()

Status code 404

Status code 404

Succes
verwijderGebruiker()

verwijderNietBestaandeGebruikerVerkeerdeID()

Status code 404Status code 404Succes
verwijderGebruiker()

verwijderBestaandeGebruiker()

Status code 200Status code 200Succes
verwijderGebruiker()

verwijderBestaandeGebruikerMetError()

Status code 500Status code 500Succes

veranderWerknemerGegevens()

executeVeranderWerknemerGegevensZonderCoordinaten()truetrueSucces
veranderWerknemerGegevens()executeVeranderWerknemerGegevensZonderCoordinatenFoutInDAO()falsefalseSucces
veranderWerknemerGegevens()executeVeranderWerknemerGegevensMetCoordinaten()truetrueSucces
veranderWerknemerGegevens()executeVeranderWerknemerGegevensMetCoordinatenFoutInDAO()falsefalseSucces

WerkplekService

Methode

Test naam

Expected Result

Actual Result

Test Result

getWerkplekOverzicht()haalWerkplekOverzichtOpNietBestaandeLocatie()Status code 404Status code 404

Succes

getWerkplekOverzicht()haalWerkplekOverzichtOpBestaandeLocatie()Status code 200Status code 200Succes
getWerkplekOverzicht()haalWerkplekOverzichtOpBestaandeLocatieGeenWerkplekken()Status code  500Status code 500Succes
getWerkplekOverzicht()haalWerkplekOverzichtOpBestaandeLocatieMetWerkplekken()Status code 200Status code 200Succes
getWerkplekOverzicht()haalWerkplekOverzichtOpBestaandeLocatieMetWerkplekkenMetWerknemers()Status code 200Status code 200Succes
addWerkplek()addWerkplekLocatieBestaatNiet()Status code 404Status code 404Succes
addWerkplek()addWerkplekWerkplekBestaalAl()Status code 409Status code 409Succes
addWerkplek()addWerkplekLocatieBestaatWelWerkplekBestaatNogNiet()Status code 200Status code 200Succes
deleteWerkplek()deleteWerkplekWerkplekBestaat()Status code 200Status code 200Succes
deleteWerkplek()deleteWerkplekWerkplekBestaatNiet()Status code 409Status code 409Succes
updateWerkplek()updateWerkplekWerkplekBestaat()Status code 200Status code 200 Succes
updateWerkplek()updateWerkplekWerkplekBestaatNiet()Status code 409Status code 409Succes
reserveerWerkplek()reserveerNietBestaandeLocatie()Status code 404Status code 404Succes
reserveerWerkplek()reserveerBestaandeLocatieGeldigeDatum()Status code 200Status code 200Succes
reserveerWerkplek()reserveerBestaandeLocatieOngeldigeDatumFormat()Status code 400Status code 400Succes
reserveerWerkplek()reserveerBestaandeLocatieOngeldigeDatum()Status code 400Status code 400Succes
reserveerWerkplek()reserveerBestaandeLocatieGeldigeDatumNietBestaandeWerkplek()Status code 404Status code 404Succes
reserveerWerkplek()reserveerBestaandeLocatieGeldigeDatumEerderAlGereserveerdePlek()Status code 409Status code 409Succes
reserveerWerkplek()reserveerBestaandeLocatieGeldigeDatumAlGereserveerdVandaag()Status code 200Status code 200Succes
reserveerWerkplek()reserveerBestaandeLocatieGeldigeDatumVollePlek()Status code 409Status code 409Succes
reserveerWerkplek()verwijderReserveringBestaandeLocatie()Status code 200Status code 200Succes
reserveerWerkplek()verwijderReserveringNietBestaandeLocatie()Status code 404Status code 404Succes

VerlofService

Methode

Test naam

Expected Result

Actual Result

Test Result

verlofUrenAfgelopenJaarMeenemenOfUitbetalen()verlofUrenAfgelopenJaarMeenemenOfUitbetalenVerlofUrenTotaalNull()"Er ging iets fout bij het ophalen van de huidige verlof uren""Er ging iets fout bij het ophalen van de huidige verlof uren"

Succes

verlofUrenAfgelopenJaarMeenemenOfUitbetalen()

verlofUrenAfgelopenJaarMeenemenOfUitbetalenVerlofWelMeenemen()

100100Succes
verlofUrenAfgelopenJaarMeenemenOfUitbetalen()verlofUrenAfgelopenJaarMeenemenOfUitbetalenVerlofNietMeenemen()100100

Succes

calcVerlofUren()calcVerlofUrenEindDatumNaBeginDatum()00Succes
calcVerlofUren()calcVerlofUrenGeenStartEindTijd()3232Succes
calcVerlofUren()calcVerlofUrenWelStartEindTijdStartEindDagGelijk()88Succes
calcVerlofUren()calcVerlofUrenWelStartEindTijdMeerdereDagen()4040Succes
getVerlofAanvragenMedewerker()executeGetVerlofAanvragenMedewerker()

[ { weknemerId: 11 } ]

[ { weknemerId: 11 } ]Succes
getAlleVerlofAanvragen()executeGetAlleVerlofAanvragen()[ { weknemerId: 11 } ][ { weknemerId: 11 } ]Succes
keurVerlofAanvraag()keurVerlofNietBestaandeAanvraag()Status code 500Status code 500Succes
keurVerlofAanvraag()keurVerlofAanvraagDieNietOpenStaat()Status code 400Status code 400Succes
keurVerlofAanvraag()keurVerlofAanvraagPendingPOIsPO()Status code 200Status code 200Succes
keurVerlofAanvraag()keurVerlofAanvraagPendingLeadIsPO()Status code 403Status code 403Succes
keurVerlofAanvraag()keurVerlofAanvraagPendingLeadIsLead()Status code 200Status code 200Succes
vraagVerlofAan()vraagVerlofAanIncorrecteTijden()Status code 400Status code 400Succes
vraagVerlofAan()vraagVerlofAanCorrecteTijdenHeleDag()Status code 200Status code 200Succes
vraagVerlofAan()vraagVerlofAanCorrecteTijden()Status code 200Status code 200Succes
vraagVerlofAan()vraagVerlofAanEinddatumVoorStartdatum()Status code 400Status code 400Succes
vraagVerlofAan()vraagVerlofAanOverlap()Status code 409Status code 409Succes
verlofAanvraagOverlap()verlofAanvraagOverlapGeenOpenstaandeAanvragen()falsefalseSucces
verlofAanvraagOverlap()verlofAanvraagOverlapMetOverlap()truetrueSucces
verlofAanvraagOverlap()verlofAanvraagOverlapZonderOverlap()falsefalseSucces


Resultaat

Uit alle testen is het resultaat Geslaagd. Dit betekend dat alle unittests van de frontend samen een slagingspercentage hebben van 100%.

Verder zorgen alle unittests samen voor een line coverage van meer dan 80% over de service laag:

Frontend unit testen

Bij de front-end hebben we voornamelijk gekozen om onze helper functies te testen doormiddel van unit tests, de units tests zijn opgedeeld op basis van functionaliteit. De rest van de applicatie wordt voornamelijk getest door middel van flow-tests, met uitzondering van componenten die vaak door de site heen worden gebruikt. Bij de unit tests wordt er gekeken naar losse functionaliteit, en bij de end to end tests wordt een use case flows met alle alternatieve flows getests.

Laadwerkplek

MethodeTestnaamExpectedActualGeslaagd

loadWerkPlekData

loadWerkplek throws when getting a 401 status

Reject met message "not logged in"

Not logged in


Ja
loadWerkPlekData

loadWerkplek throws when getting a non-200 status

Invalid status code reject met status code

Invalid statuscode: 500

Ja

loadWerkPlekData

loadWerkplek throws when getting an incorrect token

Reject met de message "not logged in"

"Not logged in"

Ja

updateWerkplekReservering

update werkplek voor reservering krijgt 401 terug

Reject met 401 status message

Je gebruikersnaam of wachtwoord is incorrect

Ja

updateWerkplekReservering

Update werkplek calls delete when werkplekNaam is null

Fetch mock to be doneFetch mock doneJa

updateWerkplekReservering

Update werkplek handles status outage (non-200)

Reject invalid status code

"Invalid statusCode: 500"

Ja

haalUserDataOp

HaalUserDataOp reageert op verkeerde statusCodes

Reject unauthorized

Je gebruikersnaam of wachtwoord is incorrect

Ja

haalUserDataOp

HaalUserDataOp reageert op verkeerde statusCodesReject met statuscode 400

"Invalid statusCode: 400"

Ja

haalUserDataOp

HaalUserDataOp geeft correcte data terug

Json geeft true message terugJson: trueJa
haalUserDataOp

HaalUserDataOp throwt bij nep-json

Reject met een errorReject met errorJa

haalBedrijfslocatiesOp

HaalBedrijfsLocatie herlaad pagina indien 401

Reject met statuscode 401

"Server gaf een foutmelding terug: 401 "

Ja
haalBedrijfslocatiesOp

"HaalBedrijfsLocatie geeft json terug

Resolve met http status 200

Resolve met http status 200

Ja

laadDeclaraties

laadDeclaraties returned 401 error

Reject met statuscode 401

"Server gaf een foutmelding terug: 401 "

Ja

laadDeclaraties

laadDeclaraties behandelt een incorrecte json

Error foutmeldingReject met errorJa

Pages

MethodeTestnaamExpectedActualGeslaagd

beheerAanpassenBedrijfslocatie laad spinner zien

laad spinner class is ingeschakeld

circle-notch

Ja

WerkPlekPagina laat spinner zien

laad spinner class is ingeschakeld

circle-notch

Ja

Bedrijfslocaties

MethodeTestnaamExpectedActualGeslaagd

verwijderLocatie

Verwijderen bedrijfslocatie

Resolve met http status 200

Resolve met http status 200

Ja

voegBedrijfsLocatieToeOfPasAan

toevoegen bedrijfslocatie

Resolve met http status 200

Resolve met http status 200

Ja

Declaraties

MethodeTestnaamExpectedActualGeslaagd

voegBedragDeclaratieToe

voeg bedrag declaratie toe met succesResolve met http status 200

Resolve met http status 200

Ja

voegHandmatigeDeclaratieToe

voeg declaratie toe met bijlage

Resolve met http status 200

Resolve met http status 200

Ja

Authentication

MethodeTestnaamExpectedActualGeslaagd

getToken

getToken returns null when no token is stored

Null

Null

Ja

getToken

getToken returns fake token when stored

1234

1234

Ja

getToken

getToken returns null when token is expired

Null

Null

Ja
getToken

getToken returns token when token is not expired

1234

1234


Ja

Gebruikers

MethodeTestnaamExpectedActualGeslaagd

haalAlleGebruikersOp

haal alle gebruikers op

Resolve met http status 200

Resolve met http status 200

Ja

haalAlleGebruikersOp

ophalen gebruikers geeft foutmeling 401

Reject met serverfoutmelding 401

"Server gaf een foutmelding terug: 401 "


Ja

haalUserDataOp

Ophalen user data

Resolve met http status 200

Resolve met http status 200

Ja

verwijderWerknemer

verwijder gebruiker

Resolve met http status 200

Resolve met http status 200

Ja

verwijderWerknemer

verwijderen gebruiker gaat fout

Reject met Unauthorized

Je gebruikersnaam of wachtwoord is incorrect

ja

voegGebruikerToe

toevoegen gebruiker

Resolve met http status 200

Resolve met http status 200

Ja

pasGebruikerAan

aanpassen gebruiker

Resolve met http status 200

Resolve met http status 200

Ja

pasGebruikerAan

aanpassen gebruiker gaat fout

Reject met serverfoutmelding 401

"Server gaf een foutmelding terug: 401 "


Ja
pasGebruikerAan

aanpassen gebruiker gaat fout 2

Reject met serverfoutmelding 400

Invalid statusCode: 400

Ja

wijzigWachtwoord

wachtwoord wijzigen

Resolve met http status 200

Resolve met http status 200

Ja

Verlof

MethodeTestnaamExpectedActualGeslaagd

vraagVerlofAan

aanvragenVerlof met status code 200

Resolve met http status 200

Resolve met http status 200

Ja

BeoordeelVerlof

beoordeelVerlof gaat goed met status code 200

Resolve met http status 200

Resolve met http status 200

Ja

krijgLijstVerlof

lijst verlof ophalen algemeen overzicht

Resolve met http status 200

Resolve met http status 200

Ja
krijgLijstVerlof

lijst verlof ophalen persoonlijk overzicht

Resolve met http status 200

Resolve met http status 200

Ja

Dates

MethodeTestnaamExpectedActualGeslaagd

convertDateToDateString

convertDateToDateString converteert correct

"2-1-2003"

"2-1-2003"


Ja

getWeekNumber

getWeekNumber converteert correct

new Date("2022-05-01") = week 17

[2022, 17]


Ja

maandNummerAlsNaam

maandNummerAlsNaam vangt grotere en kleinere nummers op

Error throw

Error throw

Ja

maandNummerAlsNaam

maandNummerAlsNaam geeft correcte responses op

 [
        "Januari",
        "Februari",
        "Maart",
        "April",
        "Mei",
        "Juni",
        "Juli",
        "Augustus",
        "September",
        "Oktober",
        "November",
        "December",
    ]

 [
        "Januari",
        "Februari",
        "Maart",
        "April",
        "Mei",
        "Juni",
        "Juli",
        "Augustus",
        "September",
        "Oktober",
        "November",
        "December",
    ]

Ja

Werkplekken

MethodeTestnaamExpectedActualGeslaagd

haalWerkplekkenOp

haal werkplekken op

Resolve met http status 200

Resolve met http status 200

Ja

haalWerkplekkenOp

haal werkplekken op zonder token

Resolve met http status 401 unauthorized

Je gebruikersnaam of wachtwoord is incorrect

Ja

updateWerkplekReservering

update werkplek reservering

Resolve met http status 200

Resolve met http status 200

Ja

verwijderWerkplek

verwijder werkplek status 200

Resolve met http status 200

Resolve met http status 200

Ja

voegWerkplekToe

voegWerkplekToe met succes

Resolve met http status 200

Resolve met http status 200

Ja


Resultaat

Na het uitvoeren van alle tests is de uitkomst dat alle test slagen.

Testrapport overzicht gegeneerd door Jest.


Unable to render {include} The included page could not be found.

  • No labels