From e6eafbda637fadf97a0a8e6850c20faf93cac60f Mon Sep 17 00:00:00 2001 From: Ugur Alpay Cenar Date: Fri, 20 Dec 2024 14:47:37 +0100 Subject: [PATCH] Refaktorering underhold respons --- .../controller/v2/UnderholdController.kt | 42 ++-- .../behandling/dto/v2/underhold/Underhold.kt | 26 +-- .../behandling/service/UnderholdService.kt | 182 ++++++++---------- .../behandling/transformers/Dtomapper.kt | 14 +- .../transformers/underhold/Utvidelser.kt | 2 +- .../controller/UnderholdControllerTest.kt | 54 +++--- 6 files changed, 150 insertions(+), 170 deletions(-) diff --git a/src/main/kotlin/no/nav/bidrag/behandling/controller/v2/UnderholdController.kt b/src/main/kotlin/no/nav/bidrag/behandling/controller/v2/UnderholdController.kt index 26628d87..eea32e5d 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/controller/v2/UnderholdController.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/controller/v2/UnderholdController.kt @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses import io.swagger.v3.oas.annotations.security.SecurityRequirement import jakarta.validation.Valid import no.nav.bidrag.behandling.behandlingNotFoundException +import no.nav.bidrag.behandling.database.datamodell.Underholdskostnad import no.nav.bidrag.behandling.database.repository.BehandlingRepository import no.nav.bidrag.behandling.dto.v2.underhold.BarnDto import no.nav.bidrag.behandling.dto.v2.underhold.OppdatereBegrunnelseRequest @@ -19,7 +20,7 @@ import no.nav.bidrag.behandling.dto.v2.underhold.StønadTilBarnetilsynDto import no.nav.bidrag.behandling.service.UnderholdService import no.nav.bidrag.behandling.transformers.Dtomapper import no.nav.bidrag.behandling.transformers.underhold.henteOgValidereUnderholdskostnad -import no.nav.bidrag.behandling.transformers.underhold.tilStønadTilBarnetilsynDto +import no.nav.bidrag.behandling.transformers.underhold.tilStønadTilBarnetilsynDtos import no.nav.bidrag.behandling.transformers.underhold.valider import no.nav.bidrag.commons.util.secureLogger import org.springframework.web.bind.annotation.DeleteMapping @@ -67,7 +68,6 @@ class UnderholdController( underholdService.sletteFraUnderhold(behandling, request) return OppdatereUnderholdResponse( - underholdskostnad = dtomapper.run { behandling.tilBeregnetUnderholdskostnad().first().perioder }, beregnetUnderholdskostnader = dtomapper.run { behandling.tilBeregnetUnderholdskostnad() }, valideringsfeil = behandling.underholdskostnader.valider(), ) @@ -107,13 +107,8 @@ class UnderholdController( val underholdskostnad = henteOgValidereUnderholdskostnad(behandling!!, underholdsid) - val oppdatertBarnetilsyn = underholdService.oppdatereStønadTilBarnetilsynManuelt(underholdskostnad, request) - return OppdatereUnderholdResponse( - stønadTilBarnetilsyn = oppdatertBarnetilsyn.tilStønadTilBarnetilsynDto(), - underholdskostnad = dtomapper.run { behandling.tilBeregnetUnderholdskostnad().perioderForBarn(underholdskostnad.person) }, - beregnetUnderholdskostnader = dtomapper.run { behandling.tilBeregnetUnderholdskostnad() }, - valideringsfeil = behandling.underholdskostnader.valider(), - ) + underholdService.oppdatereStønadTilBarnetilsynManuelt(underholdskostnad, request) + return underholdskostnad.tilRespons() } @PutMapping("/behandling/{behandlingsid}/underhold/{underholdsid}/faktisk_tilsynsutgift") @@ -146,13 +141,8 @@ class UnderholdController( val underholdskostnad = henteOgValidereUnderholdskostnad(behandling, underholdsid) - val oppdatertFaktiskTilsynsutgift = underholdService.oppdatereFaktiskeTilsynsutgifter(underholdskostnad, request) - return OppdatereUnderholdResponse( - faktiskTilsynsutgift = dtomapper.tilFaktiskTilsynsutgiftDto(oppdatertFaktiskTilsynsutgift), - underholdskostnad = dtomapper.run { behandling.tilBeregnetUnderholdskostnad().first().perioder }, - beregnetUnderholdskostnader = dtomapper.run { behandling.tilBeregnetUnderholdskostnad() }, - valideringsfeil = behandling.underholdskostnader.valider(), - ) + underholdService.oppdatereFaktiskeTilsynsutgifter(underholdskostnad, request) + return underholdskostnad.tilRespons() } @PutMapping("/behandling/{behandlingsid}/underhold/{underholdsid}/tilleggsstonad") @@ -184,13 +174,8 @@ class UnderholdController( val underholdskostnad = henteOgValidereUnderholdskostnad(behandling, underholdsid) - val oppdatertTilleggsstønad = underholdService.oppdatereTilleggsstønad(underholdskostnad, request) - return OppdatereUnderholdResponse( - tilleggsstønad = dtomapper.tilTilleggsstønadDto(oppdatertTilleggsstønad), - underholdskostnad = dtomapper.run { behandling.tilBeregnetUnderholdskostnad().first().perioder }, - beregnetUnderholdskostnader = dtomapper.run { behandling.tilBeregnetUnderholdskostnad() }, - valideringsfeil = behandling.underholdskostnader.valider(), - ) + underholdService.oppdatereTilleggsstønad(underholdskostnad, request) + return underholdskostnad.tilRespons() } @PutMapping("/behandling/{behandlingsid}/underhold/begrunnelse") @@ -274,4 +259,15 @@ class UnderholdController( valideringsfeil = behandling.underholdskostnader.valider(), ) } + + private fun Underholdskostnad.tilRespons() = + dtomapper.run { + OppdatereUnderholdResponse( + faktiskTilsynsutgift = faktiskeTilsynsutgifter.tilFaktiskeTilsynsutgiftDtos(), + stønadTilBarnetilsyn = barnetilsyn.tilStønadTilBarnetilsynDtos(), + tilleggsstønad = tilleggsstønad.tilTilleggsstønadDtos(), + beregnetUnderholdskostnader = dtomapper.run { behandling.tilBeregnetUnderholdskostnad() }, + valideringsfeil = behandling.underholdskostnader.valider(), + ) + } } diff --git a/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/underhold/Underhold.kt b/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/underhold/Underhold.kt index 15311aac..343fd8a8 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/underhold/Underhold.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/underhold/Underhold.kt @@ -19,11 +19,9 @@ data class OpprettUnderholdskostnadBarnResponse( ) data class OppdatereUnderholdResponse( - val stønadTilBarnetilsyn: StønadTilBarnetilsynDto? = null, - val faktiskTilsynsutgift: FaktiskTilsynsutgiftDto? = null, - val tilleggsstønad: TilleggsstønadDto? = null, - @Deprecated("Bruk beregnetUnderholdskostnader") - val underholdskostnad: Set, + val stønadTilBarnetilsyn: Set = emptySet(), + val faktiskTilsynsutgift: Set = emptySet(), + val tilleggsstønad: Set = emptySet(), val valideringsfeil: Set? = null, val beregnetUnderholdskostnader: Set, ) @@ -85,7 +83,7 @@ data class Underholdsperiode( data class UnderholdskostnadValideringsfeil( @JsonIgnore - val gjelderUnderholdskostnad: Underholdskostnad, + val gjelderUnderholdskostnad: Underholdskostnad? = null, val tilleggsstønad: UnderholdskostnadValideringsfeilTabell? = null, val faktiskTilsynsutgift: UnderholdskostnadValideringsfeilTabell? = null, val stønadTilBarnetilsyn: UnderholdskostnadValideringsfeilTabell? = null, @@ -102,15 +100,17 @@ data class UnderholdskostnadValideringsfeil( stønadTilBarnetilsyn?.harFeil == true || tilleggsstønadsperioderUtenFaktiskTilsynsutgift.isNotEmpty() || manglerPerioderForTilsynsordning - val underholdskostnadsid get() = gjelderUnderholdskostnad.id + val underholdskostnadsid get() = gjelderUnderholdskostnad?.id ?: -1 val barn get() = - UnderholdBarnDto( - navn = gjelderUnderholdskostnad.person.navn, - ident = gjelderUnderholdskostnad.person.personident?.verdi, - fødselsdato = gjelderUnderholdskostnad.person.henteFødselsdato!!, - medIBehandling = gjelderUnderholdskostnad.barnetsRolleIBehandlingen != null, - ) + gjelderUnderholdskostnad?.let { + UnderholdBarnDto( + navn = gjelderUnderholdskostnad.person.navn, + ident = gjelderUnderholdskostnad.person.personident?.verdi, + fødselsdato = gjelderUnderholdskostnad.person.henteFødselsdato!!, + medIBehandling = gjelderUnderholdskostnad.barnetsRolleIBehandlingen != null, + ) + } ?: UnderholdBarnDto(null, null, LocalDate.now(), false) data class UnderholdBarnDto( val navn: String?, diff --git a/src/main/kotlin/no/nav/bidrag/behandling/service/UnderholdService.kt b/src/main/kotlin/no/nav/bidrag/behandling/service/UnderholdService.kt index 4e4d08b3..e7d498fc 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/service/UnderholdService.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/service/UnderholdService.kt @@ -142,54 +142,51 @@ class UnderholdService( fun oppdatereStønadTilBarnetilsynManuelt( underholdskostnad: Underholdskostnad, request: StønadTilBarnetilsynDto, - ): Barnetilsyn { + ) { request.validerePerioderStønadTilBarnetilsyn(underholdskostnad) - val oppdatertBarnetilsyn: Barnetilsyn = - request.id?.let { id -> - val barnetilsyn = underholdskostnad.barnetilsyn.find { id == it.id }!! - - // dersom periode endres skal kilde alltid være manuell - if (barnetilsyn.fom != request.periode.fom || barnetilsyn.tom != request.periode.tom) { - barnetilsyn.kilde = Kilde.MANUELL - } + request.id?.let { id -> + val barnetilsyn = underholdskostnad.barnetilsyn.find { id == it.id }!! - barnetilsyn.fom = request.periode.fom - barnetilsyn.tom = request.periode.tom - barnetilsyn.under_skolealder = - when (request.skolealder) { - Skolealder.UNDER -> true - Skolealder.OVER -> false - else -> null - } - barnetilsyn.omfang = request.tilsynstype ?: Tilsynstype.IKKE_ANGITT - - barnetilsyn - } ?: run { - val barnetilsyn = - Barnetilsyn( - fom = request.periode.fom, - tom = request.periode.tom, - under_skolealder = - when (request.skolealder) { - Skolealder.UNDER -> true - Skolealder.OVER -> false - else -> null - }, - omfang = request.tilsynstype ?: Tilsynstype.IKKE_ANGITT, - kilde = Kilde.MANUELL, - underholdskostnad = underholdskostnad, - ) - underholdskostnad.barnetilsyn.add(barnetilsyn) - underholdskostnad.harTilsynsordning = true - underholdskostnadRepository - .save(underholdskostnad) - .barnetilsyn - .sortedBy { it.id } - .last() + // dersom periode endres skal kilde alltid være manuell + if (barnetilsyn.fom != request.periode.fom || barnetilsyn.tom != request.periode.tom) { + barnetilsyn.kilde = Kilde.MANUELL } - return oppdatertBarnetilsyn + barnetilsyn.fom = request.periode.fom + barnetilsyn.tom = request.periode.tom + barnetilsyn.under_skolealder = + when (request.skolealder) { + Skolealder.UNDER -> true + Skolealder.OVER -> false + else -> null + } + barnetilsyn.omfang = request.tilsynstype ?: Tilsynstype.IKKE_ANGITT + + barnetilsyn + } ?: run { + val barnetilsyn = + Barnetilsyn( + fom = request.periode.fom, + tom = request.periode.tom, + under_skolealder = + when (request.skolealder) { + Skolealder.UNDER -> true + Skolealder.OVER -> false + else -> null + }, + omfang = request.tilsynstype ?: Tilsynstype.IKKE_ANGITT, + kilde = Kilde.MANUELL, + underholdskostnad = underholdskostnad, + ) + underholdskostnad.barnetilsyn.add(barnetilsyn) + underholdskostnad.harTilsynsordning = true + underholdskostnadRepository + .save(underholdskostnad) + .barnetilsyn + .sortedBy { it.id } + .last() + } } fun oppdatereAutomatiskInnhentaStønadTilBarnetilsyn( @@ -262,73 +259,58 @@ class UnderholdService( fun oppdatereFaktiskeTilsynsutgifter( underholdskostnad: Underholdskostnad, request: OppdatereFaktiskTilsynsutgiftRequest, - ): FaktiskTilsynsutgift { + ) { request.validere(underholdskostnad) - val oppdatertFaktiskTilsynsutgift = - request.id?.let { id -> - underholdskostnad.faktiskeTilsynsutgifter.find { id == it.id } - val faktiskTilsynsutgift = underholdskostnad.faktiskeTilsynsutgifter.find { id == it.id }!! - faktiskTilsynsutgift.fom = request.periode.fom - faktiskTilsynsutgift.tom = request.periode.tom - faktiskTilsynsutgift.kostpenger = request.kostpenger - faktiskTilsynsutgift.tilsynsutgift = request.utgift - faktiskTilsynsutgift.kommentar = request.kommentar - faktiskTilsynsutgift - } ?: run { - val faktiskTilsynsutgift = - FaktiskTilsynsutgift( - fom = request.periode.fom, - tom = request.periode.tom, - kostpenger = request.kostpenger, - tilsynsutgift = request.utgift, - kommentar = request.kommentar, - underholdskostnad = underholdskostnad, - ) - underholdskostnad.faktiskeTilsynsutgifter.add(faktiskTilsynsutgift) - underholdskostnad.harTilsynsordning = true - underholdskostnadRepository - .save(underholdskostnad) - .faktiskeTilsynsutgifter - .sortedBy { it.id } - .last() - } - return oppdatertFaktiskTilsynsutgift + request.id?.let { id -> + underholdskostnad.faktiskeTilsynsutgifter.find { id == it.id } + val faktiskTilsynsutgift = underholdskostnad.faktiskeTilsynsutgifter.find { id == it.id }!! + faktiskTilsynsutgift.fom = request.periode.fom + faktiskTilsynsutgift.tom = request.periode.tom + faktiskTilsynsutgift.kostpenger = request.kostpenger + faktiskTilsynsutgift.tilsynsutgift = request.utgift + faktiskTilsynsutgift.kommentar = request.kommentar + faktiskTilsynsutgift + } ?: run { + val faktiskTilsynsutgift = + FaktiskTilsynsutgift( + fom = request.periode.fom, + tom = request.periode.tom, + kostpenger = request.kostpenger, + tilsynsutgift = request.utgift, + kommentar = request.kommentar, + underholdskostnad = underholdskostnad, + ) + underholdskostnad.faktiskeTilsynsutgifter.add(faktiskTilsynsutgift) + underholdskostnad.harTilsynsordning = true + } } @Transactional fun oppdatereTilleggsstønad( underholdskostnad: Underholdskostnad, request: OppdatereTilleggsstønadRequest, - ): Tilleggsstønad { + ) { request.validere(underholdskostnad) - val oppdatertTilleggsstønad = - request.id?.let { id -> - val tilleggsstønad = underholdskostnad.tilleggsstønad.find { id == it.id }!! - tilleggsstønad.fom = request.periode.fom - tilleggsstønad.tom = request.periode.tom - tilleggsstønad.dagsats = request.dagsats - tilleggsstønad.underholdskostnad = underholdskostnad - tilleggsstønad - } ?: run { - val tilleggsstønad = - Tilleggsstønad( - fom = request.periode.fom, - tom = request.periode.tom, - dagsats = request.dagsats, - underholdskostnad = underholdskostnad, - ) - underholdskostnad.tilleggsstønad.add(tilleggsstønad) - underholdskostnad.harTilsynsordning = true - underholdskostnadRepository - .save(underholdskostnad) - .tilleggsstønad - .sortedBy { it.id } - .last() - } - - return oppdatertTilleggsstønad + request.id?.let { id -> + val tilleggsstønad = underholdskostnad.tilleggsstønad.find { id == it.id }!! + tilleggsstønad.fom = request.periode.fom + tilleggsstønad.tom = request.periode.tom + tilleggsstønad.dagsats = request.dagsats + tilleggsstønad.underholdskostnad = underholdskostnad + tilleggsstønad + } ?: run { + val tilleggsstønad = + Tilleggsstønad( + fom = request.periode.fom, + tom = request.periode.tom, + dagsats = request.dagsats, + underholdskostnad = underholdskostnad, + ) + underholdskostnad.tilleggsstønad.add(tilleggsstønad) + underholdskostnad.harTilsynsordning = true + } } @Transactional diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/Dtomapper.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/Dtomapper.kt index 1ed6c6fc..16506b46 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/Dtomapper.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/Dtomapper.kt @@ -183,13 +183,9 @@ class Dtomapper( id = this.id!!, harTilsynsordning = this.harTilsynsordning, gjelderBarn = this.person.tilPersoninfoDto(rolleSøknadsbarn), - faktiskTilsynsutgift = this.faktiskeTilsynsutgifter.sortedBy { it.fom }.tilFaktiskeTilsynsutgiftDtos(), - stønadTilBarnetilsyn = - this.barnetilsyn - .sortedBy { it.fom } - .toSet() - .tilStønadTilBarnetilsynDtos(), - tilleggsstønad = this.tilleggsstønad.sortedBy { it.fom }.tilTilleggsstønadDtos(), + faktiskTilsynsutgift = this.faktiskeTilsynsutgifter.tilFaktiskeTilsynsutgiftDtos(), + stønadTilBarnetilsyn = this.barnetilsyn.tilStønadTilBarnetilsynDtos(), + tilleggsstønad = this.tilleggsstønad.tilTilleggsstønadDtos(), underholdskostnad = beregnetUnderholdskostnad, beregnetUnderholdskostnad = beregnetUnderholdskostnad, begrunnelse = @@ -356,7 +352,7 @@ class Dtomapper( total = beregnBarnebidragApi.beregnMånedsbeløpTilleggsstønad(this.dagsats), ) - fun List.tilTilleggsstønadDtos() = this.sortedBy { it.fom }.map { it.tilDto() }.toSet() + fun Set.tilTilleggsstønadDtos() = this.sortedBy { it.fom }.map { it.tilDto() }.toSet() fun FaktiskTilsynsutgift.tilDto() = FaktiskTilsynsutgiftDto( @@ -372,7 +368,7 @@ class Dtomapper( ) ?: BigDecimal.ZERO, ) - fun List.tilFaktiskeTilsynsutgiftDtos() = this.map { it.tilDto() }.toSet() + fun Set.tilFaktiskeTilsynsutgiftDtos() = sortedBy { it.fom }.map { it.tilDto() }.toSet() private fun Husstandsmedlem.boforholdBarn(opplysningerBoforhold: List): BoforholdBarn { val tilgangskontrollertPersoninfo = diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/underhold/Utvidelser.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/underhold/Utvidelser.kt index 8d128d6d..9e018796 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/underhold/Utvidelser.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/underhold/Utvidelser.kt @@ -66,7 +66,7 @@ fun Barnetilsyn.tilStønadTilBarnetilsynDto(): StønadTilBarnetilsynDto = kilde = this.kilde, ) -fun Set.tilStønadTilBarnetilsynDtos() = map { it.tilStønadTilBarnetilsynDto() }.toSet() +fun Set.tilStønadTilBarnetilsynDtos() = sortedBy { it.fom }.map { it.tilStønadTilBarnetilsynDto() }.toSet() fun Behandling.harAndreBarnIUnderhold() = this.underholdskostnader.find { it.barnetsRolleIBehandlingen == null } != null diff --git a/src/test/kotlin/no/nav/bidrag/behandling/controller/UnderholdControllerTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/controller/UnderholdControllerTest.kt index 2f146dcb..db3806ad 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/controller/UnderholdControllerTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/controller/UnderholdControllerTest.kt @@ -3,6 +3,7 @@ package no.nav.bidrag.behandling.controller import io.kotest.assertions.assertSoftly import io.kotest.matchers.collections.shouldBeEmpty import io.kotest.matchers.collections.shouldHaveSize +import io.kotest.matchers.collections.shouldNotBeEmpty import io.kotest.matchers.longs.shouldBeGreaterThan import io.kotest.matchers.nulls.shouldBeNull import io.kotest.matchers.nulls.shouldNotBeNull @@ -282,15 +283,16 @@ class UnderholdControllerTest : KontrollerTestRunner() { assertSoftly(svar) { statusCode shouldBe HttpStatus.OK body.shouldNotBeNull() - body!!.faktiskTilsynsutgift.shouldBeNull() - body!!.tilleggsstønad.shouldBeNull() - body!!.stønadTilBarnetilsyn.shouldNotBeNull() - body!!.stønadTilBarnetilsyn!!.kilde shouldBe Kilde.MANUELL - body!!.stønadTilBarnetilsyn!!.periode.shouldNotBeNull() - body!!.stønadTilBarnetilsyn!!.periode.fom shouldBe forespørsel.periode.fom - body!!.stønadTilBarnetilsyn!!.periode.tom shouldBe forespørsel.periode.tom - body!!.stønadTilBarnetilsyn!!.skolealder shouldBe forespørsel.skolealder - body!!.stønadTilBarnetilsyn!!.tilsynstype shouldBe forespørsel.tilsynstype + body!!.faktiskTilsynsutgift.shouldBeEmpty() + body!!.tilleggsstønad.shouldBeEmpty() + body!!.stønadTilBarnetilsyn.shouldNotBeEmpty() + assertSoftly(body!!.stønadTilBarnetilsyn.last()) { + periode.shouldNotBeNull() + periode.fom shouldBe forespørsel.periode.fom + periode.tom shouldBe forespørsel.periode.tom + skolealder shouldBe forespørsel.skolealder + tilsynstype shouldBe forespørsel.tilsynstype + } } } @@ -328,15 +330,17 @@ class UnderholdControllerTest : KontrollerTestRunner() { assertSoftly(svar) { statusCode shouldBe HttpStatus.OK body.shouldNotBeNull() - body!!.stønadTilBarnetilsyn.shouldBeNull() - body!!.tilleggsstønad.shouldBeNull() + body!!.stønadTilBarnetilsyn.shouldBeEmpty() + body!!.tilleggsstønad.shouldBeEmpty() body!!.faktiskTilsynsutgift.shouldNotBeNull() - body!!.faktiskTilsynsutgift!!.periode.shouldNotBeNull() - body!!.faktiskTilsynsutgift!!.periode.fom shouldBe forespørsel.periode.fom - body!!.faktiskTilsynsutgift!!.periode.tom shouldBe forespørsel.periode.tom - body!!.faktiskTilsynsutgift!!.utgift shouldBe forespørsel.utgift - body!!.faktiskTilsynsutgift!!.kostpenger shouldBe forespørsel.kostpenger - body!!.faktiskTilsynsutgift!!.kommentar shouldBe forespørsel.kommentar + assertSoftly(body!!.faktiskTilsynsutgift.last()) { + periode.shouldNotBeNull() + periode.fom shouldBe forespørsel.periode.fom + periode.tom shouldBe forespørsel.periode.tom + utgift shouldBe forespørsel.utgift + kostpenger shouldBe forespørsel.kostpenger + kommentar shouldBe forespørsel.kommentar + } } } @@ -371,13 +375,15 @@ class UnderholdControllerTest : KontrollerTestRunner() { assertSoftly(svar) { statusCode shouldBe HttpStatus.OK body.shouldNotBeNull() - body!!.stønadTilBarnetilsyn.shouldBeNull() - body!!.faktiskTilsynsutgift.shouldBeNull() - body!!.tilleggsstønad.shouldNotBeNull() - body!!.tilleggsstønad!!.periode.shouldNotBeNull() - body!!.tilleggsstønad!!.periode.fom shouldBe forespørsel.periode.fom - body!!.tilleggsstønad!!.periode.tom shouldBe forespørsel.periode.tom - body!!.tilleggsstønad!!.dagsats shouldBe forespørsel.dagsats + body!!.stønadTilBarnetilsyn.shouldBeEmpty() + body!!.faktiskTilsynsutgift.shouldBeEmpty() + body!!.tilleggsstønad.shouldNotBeEmpty() + assertSoftly(body!!.tilleggsstønad.last()) { + periode.shouldNotBeNull() + periode.fom shouldBe forespørsel.periode.fom + periode.tom shouldBe forespørsel.periode.tom + dagsats shouldBe forespørsel.dagsats + } } } }