From 7eaea24f6053a57dec9853f31db6bc570e183c3b Mon Sep 17 00:00:00 2001 From: Ugur Alpay Cenar Date: Tue, 24 Dec 2024 14:55:19 +0100 Subject: [PATCH] Underhold lagre andre barn til BM --- .../behandling/service/GrunnlagServiceTest.kt | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagServiceTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagServiceTest.kt index bcbee58b..2e8e11d7 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagServiceTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagServiceTest.kt @@ -15,7 +15,9 @@ import no.nav.bidrag.behandling.consumer.BidragPersonConsumer import no.nav.bidrag.behandling.consumer.HentetGrunnlag import no.nav.bidrag.behandling.database.datamodell.Behandling import no.nav.bidrag.behandling.database.datamodell.Grunnlag +import no.nav.bidrag.behandling.database.datamodell.Person import no.nav.bidrag.behandling.database.datamodell.Rolle +import no.nav.bidrag.behandling.database.datamodell.Underholdskostnad import no.nav.bidrag.behandling.database.datamodell.konvertereData import no.nav.bidrag.behandling.database.grunnlag.SkattepliktigeInntekter import no.nav.bidrag.behandling.database.grunnlag.SummerteInntekter @@ -36,12 +38,14 @@ import no.nav.bidrag.behandling.transformers.tilType import no.nav.bidrag.behandling.utils.testdata.TestdataManager import no.nav.bidrag.behandling.utils.testdata.lagGrunnlagsdata import no.nav.bidrag.behandling.utils.testdata.opprettAlleAktiveGrunnlagFraFil +import no.nav.bidrag.behandling.utils.testdata.opprettGrunnlag import no.nav.bidrag.behandling.utils.testdata.oppretteArbeidsforhold import no.nav.bidrag.behandling.utils.testdata.oppretteTestbehandling import no.nav.bidrag.behandling.utils.testdata.testdataBM import no.nav.bidrag.behandling.utils.testdata.testdataBP import no.nav.bidrag.behandling.utils.testdata.testdataBarn1 import no.nav.bidrag.behandling.utils.testdata.testdataBarn2 +import no.nav.bidrag.behandling.utils.testdata.testdataBarnBm import no.nav.bidrag.behandling.utils.testdata.testdataHusstandsmedlem1 import no.nav.bidrag.behandling.utils.testdata.tilTransformerInntekterRequest import no.nav.bidrag.behandling.utils.testdata.voksenPersonIBpsHusstand @@ -55,6 +59,7 @@ import no.nav.bidrag.domene.enums.grunnlag.GrunnlagRequestType import no.nav.bidrag.domene.enums.grunnlag.HentGrunnlagFeiltype import no.nav.bidrag.domene.enums.inntekt.Inntektsrapportering import no.nav.bidrag.domene.enums.person.Bostatuskode +import no.nav.bidrag.domene.enums.person.Familierelasjon import no.nav.bidrag.domene.enums.person.Sivilstandskode import no.nav.bidrag.domene.enums.person.SivilstandskodePDL import no.nav.bidrag.domene.enums.rolle.Rolletype @@ -282,6 +287,91 @@ class GrunnlagServiceTest : TestContainerRunner() { andreBarnUnderholdskostnader.first().person.ident shouldBe testdataHusstandsmedlem1.ident } + @Test + @Transactional + open fun `skal hente og oppdatere andre barn til bidragsmottaker grunnlag hvis endret`() { + // gitt + val behandling = + oppretteTestbehandling( + false, + false, + false, + inkludereBp = true, + behandlingstype = TypeBehandling.BIDRAG, + ) + behandling.underholdskostnader.add( + Underholdskostnad( + behandling = behandling, + kilde = Kilde.OFFENTLIG, + person = Person(ident = testdataBarnBm.ident, fødselsdato = testdataBarnBm.fødselsdato), + ), + ) + behandling.grunnlag.add( + behandling.opprettGrunnlag( + Grunnlagsdatatype.ANDRE_BARN, + listOf( + RelatertPersonGrunnlagDto( + navn = testdataBarn1.navn, + fødselsdato = testdataBarn1.fødselsdato, + partPersonId = testdataBarnBm.ident, + relasjon = Familierelasjon.BARN, + borISammeHusstandDtoListe = emptyList(), + relatertPersonPersonId = testdataBarn1.ident, + ), + RelatertPersonGrunnlagDto( + relatertPersonPersonId = testdataHusstandsmedlem1.ident, + navn = testdataHusstandsmedlem1.navn, + fødselsdato = testdataHusstandsmedlem1.fødselsdato, + partPersonId = testdataBarnBm.ident, + relasjon = Familierelasjon.BARN, + borISammeHusstandDtoListe = emptyList(), + ), + ), + behandling.bidragsmottaker!!.ident!!, + false, + ), + ) + testdataManager.lagreBehandlingNewTransaction(behandling) + + stubbeHentingAvPersoninfoForTestpersoner() + stubUtils.stubHentePersoninfo(personident = behandling.bidragsmottaker!!.ident!!) + behandling.roller.forEach { + when (it.rolletype) { + Rolletype.BIDRAGSMOTTAKER -> + stubUtils.stubHenteGrunnlag( + rolle = it, + responsobjekt = lagGrunnlagsdata("hente-grunnlagrespons-bidrag-andre-barn-bm"), + ) + + else -> stubUtils.stubHenteGrunnlag(rolle = it, tomRespons = true) + } + } + + behandling.underholdskostnader shouldHaveSize 3 + + // hvis + grunnlagService.oppdatereGrunnlagForBehandling(behandling) + + // så + behandling.grunnlagSistInnhentet?.toLocalDate() shouldBe LocalDate.now() + + assertSoftly { + behandling.underholdskostnader.shouldHaveSize(4) + val søknadsbarnUnderholdskostnader = behandling.underholdskostnader.filter { it.barnetsRolleIBehandlingen != null } + val andreBarnUnderholdskostnader = behandling.underholdskostnader.filter { it.barnetsRolleIBehandlingen == null } + andreBarnUnderholdskostnader.shouldHaveSize(2) + søknadsbarnUnderholdskostnader.shouldHaveSize(2) + søknadsbarnUnderholdskostnader.first().kilde shouldBe null + val andreBarnHusstandsmedlem = andreBarnUnderholdskostnader.find { it.person.ident == testdataHusstandsmedlem1.ident }!! + val andreBarnBarnBM = andreBarnUnderholdskostnader.find { it.person.ident == testdataBarnBm.ident }!! + andreBarnHusstandsmedlem.kilde shouldBe Kilde.OFFENTLIG + andreBarnBarnBM.kilde shouldBe Kilde.MANUELL + + behandling.grunnlag.filter { it.type == Grunnlagsdatatype.ANDRE_BARN }.shouldHaveSize(2) + behandling.grunnlag.filter { it.type == Grunnlagsdatatype.ANDRE_BARN && it.aktiv != null }.shouldHaveSize(2) + } + } + @Test @Transactional open fun `skal hente og lagre barnetilsyn`() {