diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt index cff72b0..27d0df6 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/BarnetrygdException.kt @@ -1,7 +1,6 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.Rådata -import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.RådataFraKilde import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.messages.domene.IdentRolle import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.periode.Periode diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt index 2c8246c..b5e0e06 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsService.kt @@ -83,8 +83,9 @@ class KompletteringsService( } }.andThen { komplettering -> try { + val persongrunnlagOgRådata = oppdaterAlleFnr(komplettering.persongrunnlag!!) komplettering.withPersongrunnlag( - oppdaterAlleFnr(komplettering.persongrunnlag!!) + persongrunnlagOgRådata ) } catch (e: BarnetrygdException.FeilVedHentingAvPersonId) { secureLog.warn("Feil ved oppdatering av fødselsnummer etter henting av barnetrygdgrunnlag", e) @@ -211,7 +212,7 @@ class KompletteringsService( Komplettert( barnetrygdmottaker = komplettering.barnetrygdmottaker, persongrunnlag = komplettering.persongrunnlag!!.persongrunnlag, - rådata = komplettering.akkumulertRådata(), + rådata = Rådata(komplettering.akkumulertRådata().distinct()), ) }, whenFeilet = { komplettering -> @@ -219,7 +220,7 @@ class KompletteringsService( barnetrygdmottaker = komplettering.barnetrygdmottaker, persongrunnlag = emptyList(), feilinformasjon = komplettering.feilinformasjon?.let { listOf(it) } ?: emptyList(), - rådata = komplettering.akkumulertRådata(), + rådata = Rådata(komplettering.akkumulertRådata().distinct()), ) } ) @@ -329,15 +330,20 @@ class KompletteringsService( val omsorgsperioderMedrådata = sak.omsorgsperioder.map { oppdaterAlleFnr(it) }.distinct() val hjelpestønadperioderMedRådata = sak.hjelpestønadsperioder.map { oppdaterAlleFnr(it) }.distinct() - PersongrunnlagMelding.Persongrunnlag.of( - omsorgsyter = omsorgsyter.value, - omsorgsperioder = omsorgsperioderMedrådata.map { it.value }, - hjelpestønadsperioder = hjelpestønadperioderMedRådata.map { it.value }, + MedRådata( + PersongrunnlagMelding.Persongrunnlag.of( + omsorgsyter = omsorgsyter.value, + omsorgsperioder = omsorgsperioderMedrådata.map { it.value }, + hjelpestønadsperioder = hjelpestønadperioderMedRådata.map { it.value }, + ), + rådata = personIdOgRådataForOmsorgsyter.rådata + + omsorgsperioderMedrådata.flatMap { it.rådata } + + hjelpestønadperioderMedRådata.flatMap { it.rådata } ) } return barnetrygdData.copy( - persongrunnlag = saker, - rådataFraKilde = barnetrygdData.rådataFraKilde + persongrunnlag = saker.map { it.value }, + rådataFraKilde = barnetrygdData.rådataFraKilde + saker.flatMap { it.rådata } ) } catch (e: UgyldigPersongrunnlag.OverlappendeOmsorgsperiode) { throw BarnetrygdException.OverlappendePerioder( diff --git "a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/MedR\303\245data.kt" "b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/MedR\303\245data.kt" index 360da66..65ec425 100644 --- "a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/MedR\303\245data.kt" +++ "b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/MedR\303\245data.kt" @@ -1,8 +1,8 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain -import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.Rådata +import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.RådataFraKilde data class MedRådata( val value: T, - val rådata: Rådata, + val rådata: List, ) \ No newline at end of file diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/EndToEndTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/EndToEndTest.kt index f5a61c0..6997da4 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/EndToEndTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/EndToEndTest.kt @@ -157,9 +157,10 @@ class EndToEndTest : SpringContextTest.WithKafka() { } """.trimIndent(), ) - assertThat(it.rådata[1]["fnr"]).isEqualTo("09876543210") - assertThat(it.rådata[1]["fom"]).isEqualTo("2020-01-01") - assertThat(it.rådata[1]["tom"]).isEqualTo("2021-12-31") + val hjelpestønadRådata = it.rådata.filter { it.containsKey("fnr") }[1] + assertThat(hjelpestønadRådata["fnr"]).isEqualTo("09876543210") + assertThat(hjelpestønadRådata["fom"]).isEqualTo("2020-01-01") + assertThat(hjelpestønadRådata["tom"]).isEqualTo("2021-12-31") JSONAssert.assertEquals( """ [ @@ -172,7 +173,7 @@ class EndToEndTest : SpringContextTest.WithKafka() { } ] """.trimIndent(), - it.rådata[1]["hjelpestønad"] as String, + hjelpestønadRådata["hjelpestønad"] as String, false, ) assertThat(it.innlesingId.toString()).isEqualTo(innlesingId.toString()) diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt index 1d87e44..f00503f 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/domain/KompletteringsServiceTest.kt @@ -4,6 +4,7 @@ import com.github.tomakehurst.wiremock.core.WireMockConfiguration import com.github.tomakehurst.wiremock.junit5.WireMockExtension import no.nav.pensjon.opptjening.omsorgsopptjening.felles.CorrelationId import no.nav.pensjon.opptjening.omsorgsopptjening.felles.InnlesingId +import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.Rådata import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.RådataFraKilde import no.nav.pensjon.opptjening.omsorgsopptjening.felles.domene.kafka.messages.domene.* import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.Mdc @@ -127,7 +128,8 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { kompletteringsService.oppdaterAlleFnr(barnetrygdData) } } - assertThat(oppdatertBarnetrygdData).isEqualTo(barnetrygdData) + assertThat(oppdatertBarnetrygdData.copy(rådataFraKilde = Rådata(emptyList()))) + .isEqualTo(barnetrygdData.copy(rådataFraKilde = Rådata(emptyList()))) } @Test @@ -221,6 +223,22 @@ class KompletteringsServiceTest : SpringContextTest.NoKafka() { assertThat(komplettert.persongrunnlag[0].omsorgsperioder).hasSize(2) assertThat(komplettert.persongrunnlag[0].hjelpestønadsperioder).hasSize(1) assertThat(komplettert.rådata).hasSizeGreaterThanOrEqualTo(12) // TODO: Sette fast verdi igjen senere + + println("RÅDATA::::::") + println(komplettert.rådata) + + assertThat(komplettert.rådata) + .filteredOn { + it.values.any { it.contains(""""identifikasjonsnummer": "00000000001"""") } + }.hasSize(1) + assertThat(komplettert.rådata) + .filteredOn { + it.values.any { it.contains(""""identifikasjonsnummer": "00000000002"""") } + }.hasSize(1) + assertThat(komplettert.rådata) + .filteredOn { + it.values.any { it.contains(""""identifikasjonsnummer": "00000000003"""") } + }.hasSize(1) }