Skip to content

Commit

Permalink
Legge til flere tester
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Nov 25, 2024
1 parent eaf26c5 commit 0a4ee87
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 70 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import no.nav.bidrag.transport.behandling.felles.grunnlag.SivilstandPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.bidragsmottaker
import no.nav.bidrag.transport.behandling.felles.grunnlag.bidragspliktig
import no.nav.bidrag.transport.behandling.felles.grunnlag.erPerson
import no.nav.bidrag.transport.behandling.felles.grunnlag.filtrerBasertPåEgenReferanse
import no.nav.bidrag.transport.behandling.felles.grunnlag.hentPerson
import no.nav.bidrag.transport.behandling.felles.grunnlag.opprettInnhentetSivilstandGrunnlagsreferanse
import no.nav.bidrag.transport.behandling.felles.grunnlag.personIdent
Expand Down Expand Up @@ -241,7 +242,10 @@ class BehandlingTilGrunnlagMappingV2(
referanse = it.tilGrunnlagsreferanseSamværsperiode(),
type = Grunnlagstype.SAMVÆRSPERIODE,
gjelderReferanse = bpGrunnlagsreferanse,
grunnlagsreferanseListe = grunnlagBeregning.map { it.referanse },
grunnlagsreferanseListe =
grunnlagBeregning
.filtrerBasertPåEgenReferanse(Grunnlagstype.DELBEREGNING_SAMVÆRSKLASSE)
.map { it.referanse },
gjelderBarnReferanse = barnGrunnlagsreferanse,
innhold =
POJONode(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import io.mockk.slot
import io.mockk.verify
import no.nav.bidrag.behandling.database.datamodell.Behandling
import no.nav.bidrag.behandling.service.NotatService.Companion.henteNotatinnhold
import no.nav.bidrag.behandling.utils.harReferanseTilGrunnlag
import no.nav.bidrag.behandling.utils.hentGrunnlagstype
import no.nav.bidrag.behandling.utils.hentGrunnlagstyper
import no.nav.bidrag.behandling.utils.hentGrunnlagstyperForReferanser
Expand Down Expand Up @@ -111,6 +112,7 @@ class VedtakserviceBidragTest : CommonVedtakTilBehandlingTest() {
)
behandling.leggTilBarnetillegg(testdataBarn1, behandling.bidragsmottaker!!, medId = true)
behandling.leggTilBarnetillegg(testdataBarn1, behandling.bidragspliktig!!, medId = true)

behandling.leggTilNotat(
"Inntektsbegrunnelse kun i notat",
NotatGrunnlag.NotatType.INNTEKT,
Expand Down Expand Up @@ -164,13 +166,51 @@ class VedtakserviceBidragTest : CommonVedtakTilBehandlingTest() {
assertSoftly(opprettVedtakRequest) {
val request = opprettVedtakRequest
request.type shouldBe Vedtakstype.FASTSETTELSE

request.stønadsendringListe shouldHaveSize 1
request.engangsbeløpListe.shouldHaveSize(2)
withClue("Grunnlagliste skal inneholde ${request.grunnlagListe.size} grunnlag") {
request.grunnlagListe shouldHaveSize 167
}
}

assertSoftly(opprettVedtakRequest.stønadsendringListe) {
shouldHaveSize(1)
val stønadsendring = opprettVedtakRequest.stønadsendringListe.first()
assertSoftly(stønadsendring) {
it.type shouldBe Stønadstype.BIDRAG
it.sak shouldBe Saksnummer(behandling.saksnummer)
it.skyldner shouldBe Personident(behandling.bidragspliktig!!.ident!!)
it.kravhaver shouldBe Personident(behandling.søknadsbarn.first().ident!!)
it.mottaker shouldBe Personident(behandling.bidragsmottaker!!.ident!!)
it.innkreving shouldBe Innkrevingstype.MED_INNKREVING
it.beslutning shouldBe Beslutningstype.ENDRING
it.førsteIndeksreguleringsår shouldBe YearMonth.now().plusYears(1).year

it.periodeListe shouldHaveSize 8
it.grunnlagReferanseListe shouldHaveSize 8
opprettVedtakRequest.grunnlagListe.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.NOTAT,
it.grunnlagReferanseListe,
) shouldHaveSize
6
opprettVedtakRequest.grunnlagListe.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.SØKNAD,
it.grunnlagReferanseListe,
) shouldHaveSize
1
opprettVedtakRequest.grunnlagListe.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.VIRKNINGSTIDSPUNKT,
it.grunnlagReferanseListe,
) shouldHaveSize
1

assertSoftly(it.periodeListe[0]) {
opprettVedtakRequest.grunnlagListe.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.SLUTTBEREGNING_BARNEBIDRAG,
it.grunnlagReferanseListe,
) shouldHaveSize
1
}
}
}
assertSoftly(opprettVedtakRequest.engangsbeløpListe) {
shouldHaveSize(2)
val gebyrMottaker = it.find { it.type == Engangsbeløptype.GEBYR_MOTTAKER }!!
Expand Down Expand Up @@ -222,6 +262,13 @@ class VedtakserviceBidragTest : CommonVedtakTilBehandlingTest() {
}
}
validerNotater(behandling)
hentGrunnlagstyper(Grunnlagstype.SJABLON_SJABLONTALL) shouldHaveSize 31
hentGrunnlagstyper(Grunnlagstype.SJABLON_BIDRAGSEVNE) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.SJABLON_MAKS_FRADRAG) shouldHaveSize 2
hentGrunnlagstyper(Grunnlagstype.SJABLON_MAKS_TILSYN) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.SJABLON_FORBRUKSUTGIFTER) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.SJABLON_SAMVARSFRADRAG) shouldHaveSize 8
hentGrunnlagstyper(Grunnlagstype.SJABLON_TRINNVIS_SKATTESATS) shouldHaveSize 2
hentGrunnlagstyper(Grunnlagstype.TILLEGGSSTØNAD_PERIODE) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.FAKTISK_UTGIFT_PERIODE) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.BARNETILSYN_MED_STØNAD_PERIODE) shouldHaveSize 2
Expand All @@ -232,7 +279,6 @@ class VedtakserviceBidragTest : CommonVedtakTilBehandlingTest() {
hentGrunnlagstyper(Grunnlagstype.VIRKNINGSTIDSPUNKT) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.SØKNAD) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.BEREGNET_INNTEKT) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.SJABLON_SJABLONTALL) shouldHaveSize 31
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_SKATTEGRUNNLAG_PERIODE) shouldHaveSize 5
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_AINNTEKT) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_BARNETILSYN) shouldHaveSize 1
Expand Down Expand Up @@ -849,7 +895,7 @@ private fun OpprettVedtakRequestDto.validerSamvær() {
it.gjelderReferanse shouldBe bpGrunnlag.referanse
}
assertSoftly(beregnetPeriode) {
it.grunnlagsreferanseListe shouldHaveSize 8
it.grunnlagsreferanseListe shouldHaveSize 1
grunnlagListe.finnGrunnlagSomErReferertAv(Grunnlagstype.SJABLON_SAMVARSFRADRAG, it) shouldHaveSize 5
grunnlagListe.finnGrunnlagSomErReferertAv(Grunnlagstype.DELBEREGNING_SAMVÆRSKLASSE_NETTER, it) shouldHaveSize 1
grunnlagListe.finnGrunnlagSomErReferertAv(Grunnlagstype.DELBEREGNING_SAMVÆRSKLASSE, it) shouldHaveSize 1
Expand All @@ -867,10 +913,17 @@ private fun OpprettVedtakRequestDto.validerSamvær() {

val delberegningSamværsklasse = grunnlagListe.finnGrunnlagSomErReferertAv(Grunnlagstype.DELBEREGNING_SAMVÆRSKLASSE, it).first()
val innholdSamværsklasse = delberegningSamværsklasse.innholdTilObjekt<DelberegningSamværsklasse>()
delberegningSamværsklasse.grunnlagsreferanseListe shouldHaveSize 2
grunnlagListe.harReferanseTilGrunnlag(Grunnlagstype.DELBEREGNING_SAMVÆRSKLASSE_NETTER, delberegningSamværsklasse)
grunnlagListe.harReferanseTilGrunnlag(Grunnlagstype.SAMVÆRSKALKULATOR, delberegningSamværsklasse)
delberegningSamværsklasse.gjelderBarnReferanse shouldBe søknadsbarnGrunnlag.referanse
delberegningSamværsklasse.gjelderReferanse shouldBe bpGrunnlag.referanse
innholdSamværsklasse.samværsklasse shouldBe Samværsklasse.SAMVÆRSKLASSE_2
innholdSamværsklasse.gjennomsnittligSamværPerMåned shouldBe BigDecimal("8.01")

val delberegningSamværsklasseNetter = grunnlagListe.finnGrunnlagSomErReferertAv(Grunnlagstype.DELBEREGNING_SAMVÆRSKLASSE_NETTER, it).first()
delberegningSamværsklasseNetter.grunnlagsreferanseListe.shouldHaveSize(5)
grunnlagListe.finnGrunnlagSomErReferertAv(Grunnlagstype.SJABLON_SAMVARSFRADRAG, delberegningSamværsklasseNetter) shouldHaveSize 5
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import io.kotest.assertions.withClue
import io.kotest.matchers.collections.shouldHaveSize
import io.kotest.matchers.date.shouldHaveSameDayAs
import io.kotest.matchers.shouldBe
import io.kotest.matchers.shouldNotBe
import io.mockk.clearAllMocks
import io.mockk.every
import io.mockk.impl.annotations.MockK
Expand All @@ -31,7 +30,6 @@ import no.nav.bidrag.behandling.transformers.vedtak.mapping.tilvedtak.Behandling
import no.nav.bidrag.behandling.transformers.vedtak.mapping.tilvedtak.BehandlingTilVedtakMapping
import no.nav.bidrag.behandling.transformers.vedtak.mapping.tilvedtak.VedtakGrunnlagMapper
import no.nav.bidrag.behandling.utils.hentGrunnlagstyper
import no.nav.bidrag.behandling.utils.hentPerson
import no.nav.bidrag.behandling.utils.testdata.SAKSBEHANDLER_IDENT
import no.nav.bidrag.behandling.utils.testdata.TestdataManager
import no.nav.bidrag.behandling.utils.testdata.initGrunnlagRespons
Expand All @@ -44,8 +42,6 @@ import no.nav.bidrag.behandling.utils.testdata.leggTilTillegsstønad
import no.nav.bidrag.behandling.utils.testdata.opprettGyldigBehandlingForBeregningOgVedtak
import no.nav.bidrag.behandling.utils.testdata.opprettSakForBehandling
import no.nav.bidrag.behandling.utils.testdata.taMedInntekt
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.testdataHusstandsmedlem1
import no.nav.bidrag.beregn.barnebidrag.BeregnBarnebidragApi
Expand All @@ -57,15 +53,10 @@ import no.nav.bidrag.domene.enums.behandling.TypeBehandling
import no.nav.bidrag.domene.enums.beregning.Samværsklasse
import no.nav.bidrag.domene.enums.grunnlag.Grunnlagstype
import no.nav.bidrag.domene.enums.inntekt.Inntektsrapportering
import no.nav.bidrag.domene.enums.vedtak.Beslutningstype
import no.nav.bidrag.domene.enums.vedtak.Innkrevingstype
import no.nav.bidrag.domene.enums.vedtak.Stønadstype
import no.nav.bidrag.domene.enums.vedtak.Vedtakstype
import no.nav.bidrag.domene.ident.Personident
import no.nav.bidrag.domene.sak.Saksnummer
import no.nav.bidrag.domene.tid.ÅrMånedsperiode
import no.nav.bidrag.transport.behandling.felles.grunnlag.NotatGrunnlag
import no.nav.bidrag.transport.behandling.felles.grunnlag.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe
import no.nav.bidrag.transport.behandling.vedtak.request.OpprettVedtakRequestDto
import no.nav.bidrag.transport.behandling.vedtak.response.OpprettVedtakResponseDto
import org.junit.jupiter.api.BeforeEach
Expand Down Expand Up @@ -348,51 +339,8 @@ class VedtakserviceTest : TestContainerRunner() {
}
}

val grunnlagsliste = opprettVedtakRequest.grunnlagListe
assertSoftly(opprettVedtakRequest.stønadsendringListe[0]) {
it.type shouldBe Stønadstype.BIDRAG
it.sak shouldBe Saksnummer(behandling.saksnummer)
it.skyldner shouldBe Personident(behandling.bidragspliktig!!.ident!!)
it.kravhaver shouldBe Personident(behandling.søknadsbarn.first().ident!!)
it.mottaker shouldBe Personident(behandling.bidragsmottaker!!.ident!!)
it.innkreving shouldBe Innkrevingstype.MED_INNKREVING
it.beslutning shouldBe Beslutningstype.ENDRING

it.periodeListe shouldHaveSize 6
it.grunnlagReferanseListe shouldHaveSize 9
grunnlagsliste.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.NOTAT,
it.grunnlagReferanseListe,
) shouldHaveSize
7
grunnlagsliste.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.SØKNAD,
it.grunnlagReferanseListe,
) shouldHaveSize
1
grunnlagsliste.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.VIRKNINGSTIDSPUNKT,
it.grunnlagReferanseListe,
) shouldHaveSize
1

assertSoftly(it.periodeListe[0]) {
grunnlagsliste.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.SLUTTBEREGNING_BARNEBIDRAG,
it.grunnlagReferanseListe,
) shouldHaveSize
1
}
}
assertSoftly(opprettVedtakRequest) {
val bmGrunnlag = grunnlagListe.hentPerson(testdataBM.ident)!!
val bpGrunnlag = grunnlagListe.hentPerson(testdataBP.ident)!!
val barn1Grunnlag = grunnlagListe.hentPerson(testdataBarn1.ident)!!

assertSoftly(hentGrunnlagstyper(Grunnlagstype.NOTAT)) {
shouldHaveSize(7)
}

hentGrunnlagstyper(Grunnlagstype.NOTAT) shouldHaveSize 7
hentGrunnlagstyper(Grunnlagstype.TILLEGGSSTØNAD_PERIODE) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.FAKTISK_UTGIFT_PERIODE) shouldHaveSize 2
hentGrunnlagstyper(Grunnlagstype.BARNETILSYN_MED_STØNAD_PERIODE) shouldHaveSize 1
Expand All @@ -402,7 +350,7 @@ class VedtakserviceTest : TestContainerRunner() {
hentGrunnlagstyper(Grunnlagstype.SAMVÆRSKALKULATOR) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.VIRKNINGSTIDSPUNKT) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.SØKNAD) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.BEREGNET_INNTEKT) shouldHaveSize 3 // TODO: Hvorfor 3?
hentGrunnlagstyper(Grunnlagstype.BEREGNET_INNTEKT) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.SJABLON_SJABLONTALL) shouldHaveSize 22
hentGrunnlagstyper(Grunnlagstype.SJABLON_BIDRAGSEVNE) shouldHaveSize 2
hentGrunnlagstyper(Grunnlagstype.SJABLON_MAKS_FRADRAG) shouldHaveSize 2
Expand All @@ -412,17 +360,7 @@ class VedtakserviceTest : TestContainerRunner() {
hentGrunnlagstyper(Grunnlagstype.SJABLON_TRINNVIS_SKATTESATS) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_SKATTEGRUNNLAG_PERIODE) shouldHaveSize 8
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_AINNTEKT) shouldHaveSize 3
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_AINNTEKT)
.find { it.gjelderReferanse == bmGrunnlag.referanse } shouldNotBe null
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_AINNTEKT)
.find { it.gjelderReferanse == bpGrunnlag.referanse } shouldNotBe null
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_AINNTEKT)
.find { it.gjelderReferanse == barn1Grunnlag.referanse } shouldNotBe null
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_BARNETILLEGG) shouldHaveSize 2
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_BARNETILLEGG)
.find { it.gjelderReferanse == bmGrunnlag.referanse } shouldNotBe null
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_BARNETILLEGG)
.find { it.gjelderReferanse == bpGrunnlag.referanse } shouldNotBe null
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_UTVIDETBARNETRYGD) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_SMÅBARNSTILLEGG) shouldHaveSize 1
hentGrunnlagstyper(Grunnlagstype.INNHENTET_INNTEKT_KONTANTSTØTTE) shouldHaveSize 1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
package no.nav.bidrag.behandling.utils

import no.nav.bidrag.domene.enums.grunnlag.Grunnlagstype
import no.nav.bidrag.domene.ident.Personident
import no.nav.bidrag.transport.behandling.beregning.felles.InntektPerBarn
import no.nav.bidrag.transport.behandling.felles.grunnlag.BaseGrunnlag
import no.nav.bidrag.transport.behandling.felles.grunnlag.finnGrunnlagSomErReferertAv

fun List<InntektPerBarn>.hentInntektForBarn(barnIdent: String) = find { it.inntektGjelderBarnIdent == Personident(barnIdent) }

fun List<BaseGrunnlag>.harReferanseTilGrunnlag(
grunnlag: Grunnlagstype,
baseGrunnlag: BaseGrunnlag,
) = finnGrunnlagSomErReferertAv(grunnlag, baseGrunnlag).isNotEmpty()

0 comments on commit 0a4ee87

Please sign in to comment.