Closed Jinlei2000 closed 9 months ago
Je bent aan het spy-en hoe de save functie IN de service wordt opgeroepen. Maar je kijkt of deze wordt opgeroepen met de result van een de service.
Dit klopt echter niet. Want op het moment dat we de parameter doorsturen, hebben we nog geen id. Dit zal gereturnd worden. Je moet dus met iets anders controleren. Dit is een optie
// BUG: het faalt omdat er een geen id is
const myInput: Partial<Absence> = createabsenceInputStub()
myInput.totalDays = 2
expect(saveSPy).toBeCalledWith(myInput)
Het is dit deeltje van de service dat je aan het testen bent
const a = new Absence()
a.description = createAbsenceInput.description
a.userId = createAbsenceInput.userId
a.type = createAbsenceInput.type
a.startDate = createAbsenceInput.startDate
a.endDate = createAbsenceInput.endDate
a.totalDays = calculateTotalDays(new Date(a.startDate), new Date(a.endDate))
const newAbsence = await this.absenceRepository.save(a)
Dankje!
name: Probleem Jest about: Een probleem bij het testen/maken van een Jest title: Backend: Jest labels: backend assignees: 'Christophe'
Wat loopt er fout?
ik ben een test geschreven voor "should call absenceRepository.save with the correct parameters". Elke keer dat ik test krijg ik de fout dat er een id te kort is.
Waar situeert het probleem zich (beiden aanduiden kan)?
Wat heb je zelf opgezocht? / Wat heeft je team-genoot geprobeerd?
Ik heb mijn stubs van absences gecheckt er zit een id bij. Het is ook toegewezen in mij useValue van mij providers.
Hoe kan het probleem gereproduceerd worden op jullie repo?
Branch: backend-unit-test Go to: cd packages/api Command: npx jest absences/absences.service.spec
Waar staat de code die relevant is (gebruik een permalink)?
https://github.com/Jinlei2000/Lei_Samuel/blob/410c1175ec16a94db7b545ebfa4cf85368ff2bdb/packages/api/src/absences/absences.service.spec.ts#L78-L83