From 5c783e1a4b0d75abba67b3c15725685acf320774 Mon Sep 17 00:00:00 2001 From: halvorbmundal Date: Fri, 29 Sep 2023 13:59:32 +0200 Subject: [PATCH] Feat/brevperiode (#4024) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 💰 Hva skal gjøres, og hvorfor? Legger til logikk for å fylle inn data i de nye brevperiodene fra objektene vi får fra den nye vedtaksløypa. Det meste er bare kopi fra den gamle løypa med annen input. ### ✅ Checklist _Har du husket alle punktene i listen?_ - [ ] Jeg har testet mine endringer i henhold til akseptansekriteriene 🕵️ - [ ] Jeg har config- eller sql-endringer. I så fall, husk manuell deploy til miljø for å verifisere endringene. - [x] Jeg har skrevet tester --- .../sak/kjerne/brev/BrevPeriodeGenerator.kt | 6 +- .../BrevPeriodeProdusent.kt | 98 +++++++++++++++---- .../domene/maler/brevperioder/BrevPeriode.kt | 17 +--- .../domene/VedtaksperiodeMedBegrunnelser.kt | 10 ++ .../BegrunnelseTeksterStepDefinition.kt | 26 +++++ ...vPeriodeUtil.kt => BrevbegrunnelseUtil.kt} | 4 +- .../ba/sak/cucumber/BrevperiodeUtil.kt | 37 +++++++ .../domeneparser/BasisDomeneParser.kt | 16 +++ .../domeneparser/BrevPeriodeParser.kt | 1 + .../brevPerioder/vilk\303\245r.feature" | 37 +++++++ 10 files changed, 210 insertions(+), 42 deletions(-) rename src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/{BrevPeriodeUtil.kt => BrevbegrunnelseUtil.kt} (99%) create mode 100644 src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevperiodeUtil.kt create mode 100644 "src/test/resources/no/nav/familie/ba/sak/cucumber/brevPerioder/vilk\303\245r.feature" diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/BrevPeriodeGenerator.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/BrevPeriodeGenerator.kt index 10bb0d0f583..1c26b3a455b 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/BrevPeriodeGenerator.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/BrevPeriodeGenerator.kt @@ -252,15 +252,11 @@ class BrevPeriodeGenerator( brevPeriodeType == BrevPeriodeType.INNVILGELSE_INGEN_UTBETALING -> " til $tomDato" else -> "til $tomDato " }, - belop = Utils.formaterBeløp(utbetalingsbeløp), + beløp = Utils.formaterBeløp(utbetalingsbeløp), begrunnelser = begrunnelserOgFritekster, brevPeriodeType = brevPeriodeType, antallBarn = barnIPeriode.size.toString(), barnasFodselsdager = barnIPeriode.tilBarnasFødselsdatoer(), - antallBarnMedUtbetaling = barnMedUtbetaling.size.toString(), - antallBarnMedNullutbetaling = barnMedNullutbetaling.size.toString(), - fodselsdagerBarnMedUtbetaling = barnMedUtbetaling.tilBarnasFødselsdatoer(), - fodselsdagerBarnMedNullutbetaling = barnMedNullutbetaling.tilBarnasFødselsdatoer(), duEllerInstitusjonen = duEllerInstitusjonen, ) } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/brevPeriodeProdusent/BrevPeriodeProdusent.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/brevPeriodeProdusent/BrevPeriodeProdusent.kt index 5a4ddbe73f0..9222666528c 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/brevPeriodeProdusent/BrevPeriodeProdusent.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/brevPeriodeProdusent/BrevPeriodeProdusent.kt @@ -1,17 +1,24 @@ package no.nav.familie.ba.sak.kjerne.brev.brevPeriodeProdusent import lagBrevBegrunnelse +import no.nav.familie.ba.sak.common.Utils +import no.nav.familie.ba.sak.common.tilKortString +import no.nav.familie.ba.sak.common.tilMånedÅr import no.nav.familie.ba.sak.kjerne.brev.brevBegrunnelseProdusent.GrunnlagForBegrunnelse import no.nav.familie.ba.sak.kjerne.brev.brevBegrunnelseProdusent.lagBrevBegrunnelse import no.nav.familie.ba.sak.kjerne.brev.domene.maler.BrevPeriodeType import no.nav.familie.ba.sak.kjerne.brev.domene.maler.brevperioder.BrevPeriode import no.nav.familie.ba.sak.kjerne.endretutbetaling.domene.Årsak +import no.nav.familie.ba.sak.kjerne.fagsak.FagsakType import no.nav.familie.ba.sak.kjerne.grunnlag.personopplysninger.Person import no.nav.familie.ba.sak.kjerne.grunnlag.personopplysninger.PersonType import no.nav.familie.ba.sak.kjerne.vedtak.domene.BrevBegrunnelse import no.nav.familie.ba.sak.kjerne.vedtak.domene.FritekstBegrunnelse import no.nav.familie.ba.sak.kjerne.vedtak.domene.VedtaksperiodeMedBegrunnelser +import no.nav.familie.ba.sak.kjerne.vedtak.domene.hentBrevPeriodeType +import no.nav.familie.ba.sak.kjerne.vedtak.vedtaksperiode.Vedtaksperiodetype import no.nav.familie.ba.sak.kjerne.vedtak.vedtaksperiode.vedtakBegrunnelseProdusent.IBegrunnelseGrunnlagForPeriode +import no.nav.familie.ba.sak.kjerne.vedtak.vedtaksperiode.vedtakBegrunnelseProdusent.erUtbetalingEllerDeltBostedIPeriode import no.nav.familie.ba.sak.kjerne.vedtak.vedtaksperiode.vedtakBegrunnelseProdusent.finnBegrunnelseGrunnlagPerPerson fun VedtaksperiodeMedBegrunnelser.lagBrevPeriode( @@ -41,8 +48,6 @@ fun VedtaksperiodeMedBegrunnelser.lagBrevPeriode( val fritekster = this.fritekster.map { FritekstBegrunnelse(it.fritekst) } - val barnMedUtbetaling = begrunnelsesGrunnlagPerPerson.finnBarnMedUtbetaling() - val begrunnelserOgFritekster = standardbegrunnelser + eøsBegrunnelser + fritekster @@ -50,10 +55,59 @@ fun VedtaksperiodeMedBegrunnelser.lagBrevPeriode( return this.byggBrevPeriode( begrunnelserOgFritekster = begrunnelserOgFritekster, + begrunnelseGrunnlagPerPerson = begrunnelsesGrunnlagPerPerson, + grunnlagForBegrunnelse = grunnlagForBegrunnelse, + + ) +} + +private fun VedtaksperiodeMedBegrunnelser.byggBrevPeriode( + begrunnelserOgFritekster: List, + begrunnelseGrunnlagPerPerson: Map, + grunnlagForBegrunnelse: GrunnlagForBegrunnelse, +): BrevPeriode { + val barnMedUtbetaling = begrunnelseGrunnlagPerPerson.finnBarnMedUtbetaling().keys + val beløp = begrunnelseGrunnlagPerPerson.hentTotaltUtbetaltIPeriode() + + val brevPeriodeType = hentBrevPeriodeType( + vedtaksperiodeMedBegrunnelser = this, + erUtbetalingEllerDeltBostedIPeriode = erUtbetalingEllerDeltBostedIPeriode(begrunnelseGrunnlagPerPerson), + ) + + return BrevPeriode( + fom = this.fom?.tilMånedÅr() ?: "", + tom = hentTomTekstForBrev(brevPeriodeType), + beløp = beløp.toString(), + begrunnelser = begrunnelserOgFritekster, + brevPeriodeType = brevPeriodeType, antallBarn = barnMedUtbetaling.size.toString(), + barnasFodselsdager = barnMedUtbetaling.tilBarnasFødselsdatoer(), + duEllerInstitusjonen = hentDuEllerInstitusjonenTekst( + brevPeriodeType = brevPeriodeType, + fagsakType = grunnlagForBegrunnelse.behandlingsGrunnlagForVedtaksperioder.fagsakType, + ), ) } +private fun VedtaksperiodeMedBegrunnelser.hentTomTekstForBrev( + brevPeriodeType: BrevPeriodeType, +) = if (this.tom == null) { + "" +} else { + val tomDato = this.tom.tilMånedÅr() + when (brevPeriodeType) { + BrevPeriodeType.UTBETALING -> "til $tomDato" + BrevPeriodeType.INGEN_UTBETALING -> if (this.type == Vedtaksperiodetype.AVSLAG) "til og med $tomDato " else "" + BrevPeriodeType.INGEN_UTBETALING_UTEN_PERIODE -> "" + BrevPeriodeType.FORTSATT_INNVILGET -> "" + BrevPeriodeType.FORTSATT_INNVILGET_NY -> "" + else -> error("$brevPeriodeType skal ikke brukes") + } +} + +private fun Map.hentTotaltUtbetaltIPeriode() = + this.values.sumOf { it.dennePerioden.andeler.sumOf { andeler -> andeler.kalkulertUtbetalingsbeløp } } + private fun Map.finnBarnMedUtbetaling() = filterKeys { it.type == PersonType.BARN } .filterValues { @@ -64,23 +118,27 @@ private fun Map.finnBarnMedUtbetaling() utbetalingssumIPeriode != 0 || endretUtbetalingAndelIPeriodeErDeltBosted } -private fun VedtaksperiodeMedBegrunnelser.byggBrevPeriode( - begrunnelserOgFritekster: List, - antallBarn: String, -): BrevPeriode { - return BrevPeriode( +fun Set.tilBarnasFødselsdatoer(): String { + val barnasFødselsdatoerListe: List = this.filter { it.type == PersonType.BARN } + .sortedBy { it.fødselsdato } + .map { it.fødselsdato.tilKortString() } - fom = "", - tom = "", - belop = "", - begrunnelser = begrunnelserOgFritekster, - brevPeriodeType = BrevPeriodeType.INNVILGELSE, - antallBarn = antallBarn, - barnasFodselsdager = "", - antallBarnMedUtbetaling = "", - antallBarnMedNullutbetaling = "", - fodselsdagerBarnMedUtbetaling = "", - fodselsdagerBarnMedNullutbetaling = "", - duEllerInstitusjonen = "", - ) + return Utils.slåSammen(barnasFødselsdatoerListe) } + +private fun hentDuEllerInstitusjonenTekst(brevPeriodeType: BrevPeriodeType, fagsakType: FagsakType): String = + when (fagsakType) { + FagsakType.INSTITUSJON -> { + when (brevPeriodeType) { + BrevPeriodeType.UTBETALING, BrevPeriodeType.INGEN_UTBETALING -> "institusjonen" + else -> "Institusjonen" + } + } + + FagsakType.NORMAL, FagsakType.BARN_ENSLIG_MINDREÅRIG -> { + when (brevPeriodeType) { + BrevPeriodeType.UTBETALING, BrevPeriodeType.INGEN_UTBETALING -> "du" + else -> "Du" + } + } + } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/domene/maler/brevperioder/BrevPeriode.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/domene/maler/brevperioder/BrevPeriode.kt index 3bbe2d65877..138487bd27a 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/domene/maler/brevperioder/BrevPeriode.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/domene/maler/brevperioder/BrevPeriode.kt @@ -13,37 +13,24 @@ data class BrevPeriode( val barnasFodselsdager: Flettefelt, val begrunnelser: List, val type: Flettefelt, - - val antallBarnMedUtbetaling: Flettefelt, - val antallBarnMedNullutbetaling: Flettefelt, - val fodselsdagerBarnMedUtbetaling: Flettefelt, - val fodselsdagerBarnMedNullutbetaling: Flettefelt, val duEllerInstitusjonen: Flettefelt, ) { constructor( fom: String, tom: String, - belop: String, + beløp: String, begrunnelser: List, brevPeriodeType: BrevPeriodeType, antallBarn: String, barnasFodselsdager: String, - antallBarnMedUtbetaling: String, - antallBarnMedNullutbetaling: String, - fodselsdagerBarnMedUtbetaling: String, - fodselsdagerBarnMedNullutbetaling: String, duEllerInstitusjonen: String, ) : this( fom = flettefelt(fom), tom = flettefelt(tom), - belop = flettefelt(belop), + belop = flettefelt(beløp), antallBarn = flettefelt(antallBarn), barnasFodselsdager = flettefelt(barnasFodselsdager), - antallBarnMedUtbetaling = flettefelt(antallBarnMedUtbetaling), - antallBarnMedNullutbetaling = flettefelt(antallBarnMedNullutbetaling), - fodselsdagerBarnMedUtbetaling = flettefelt(fodselsdagerBarnMedUtbetaling), - fodselsdagerBarnMedNullutbetaling = flettefelt(fodselsdagerBarnMedNullutbetaling), begrunnelser = begrunnelser, type = flettefelt(brevPeriodeType.apiNavn), duEllerInstitusjonen = flettefelt(duEllerInstitusjonen), diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/vedtak/domene/VedtaksperiodeMedBegrunnelser.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/vedtak/domene/VedtaksperiodeMedBegrunnelser.kt index 0684e2ac234..2ee2a2d4bda 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/vedtak/domene/VedtaksperiodeMedBegrunnelser.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/vedtak/domene/VedtaksperiodeMedBegrunnelser.kt @@ -224,6 +224,16 @@ private fun List.tilUtbetalingerTidsl }.kombiner { it.takeIf { it.toList().isNotEmpty() } } .slåSammenLike() +fun hentBrevPeriodeType( + vedtaksperiodeMedBegrunnelser: VedtaksperiodeMedBegrunnelser, + erUtbetalingEllerDeltBostedIPeriode: Boolean, +): BrevPeriodeType = + hentBrevPeriodeType( + vedtaksperiodetype = vedtaksperiodeMedBegrunnelser.type, + fom = vedtaksperiodeMedBegrunnelser.fom, + erUtbetalingEllerDeltBostedIPeriode = erUtbetalingEllerDeltBostedIPeriode, + ) + fun hentBrevPeriodeType( vedtaksperiodetype: Vedtaksperiodetype, fom: LocalDate?, diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BegrunnelseTeksterStepDefinition.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BegrunnelseTeksterStepDefinition.kt index ea3ddcdd7b2..5bd6f9ac28d 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BegrunnelseTeksterStepDefinition.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BegrunnelseTeksterStepDefinition.kt @@ -19,6 +19,7 @@ import no.nav.familie.ba.sak.kjerne.brev.brevPeriodeProdusent.lagBrevPeriode import no.nav.familie.ba.sak.kjerne.brev.domene.RestSanityBegrunnelse import no.nav.familie.ba.sak.kjerne.brev.domene.SanityBegrunnelse import no.nav.familie.ba.sak.kjerne.brev.domene.SanityEØSBegrunnelse +import no.nav.familie.ba.sak.kjerne.brev.domene.maler.brevperioder.BrevPeriode import no.nav.familie.ba.sak.kjerne.endretutbetaling.domene.EndretUtbetalingAndel import no.nav.familie.ba.sak.kjerne.eøs.kompetanse.domene.Kompetanse import no.nav.familie.ba.sak.kjerne.fagsak.Fagsak @@ -322,6 +323,31 @@ class BegrunnelseTeksterStepDefinition { .isEqualTo(forvendtedeBegrunnelser.sortedBy { it.apiNavn }) } + /** + * Mulige verdier: | Type | Fra dato | Til dato | Beløp | Antall barn | Barnas fødselsdager | Du eller institusjonen | + */ + @Så("forvent følgende brevperioder for behandling {}") + fun `forvent følgende brevperioder for behandling i periode`( + behandlingId: Long, + dataTable: DataTable, + ) { + val forrigeBehandlingId = behandlingTilForrigeBehandling[behandlingId] + val vedtak = vedtaksliste.find { it.behandling.id == behandlingId && it.aktiv } ?: error("Finner ikke vedtak") + val grunnlagForBegrunnelse = hentGrunnlagForBegrunnelser(behandlingId, vedtak, forrigeBehandlingId) + + val faktiskeBrevperioder: List = + vedtaksperioderMedBegrunnelser.sortedBy { it.fom }.mapNotNull { + it.lagBrevPeriode(grunnlagForBegrunnelse, LANDKODER) + } + + val forvendtedeBrevperioder = parseBrevPerioder(dataTable) + + assertThat(faktiskeBrevperioder) + .usingRecursiveComparison() + .ignoringFields("begrunnelser") + .isEqualTo(forvendtedeBrevperioder) + } + // For å laste ned begrunnelsene på nytt anbefales https://familie-brev.sanity.studio/ba-test/vision med query fra SanityQueries.kt . // Kopier URL fra resultatet og kjør // curl -XGET | jq '.result' > /familie-ba-sak/src/test/resources/no/nav/familie/ba/sak/cucumber/begrunnelsetekster/restSanityTestBegrunnelser diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevPeriodeUtil.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevbegrunnelseUtil.kt similarity index 99% rename from src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevPeriodeUtil.kt rename to src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevbegrunnelseUtil.kt index 4cf6f4b2d20..146ddf57d35 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevPeriodeUtil.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevbegrunnelseUtil.kt @@ -55,10 +55,10 @@ fun parseStandardBegrunnelse(rad: Tabellrad) = ).sanityApiNavn, gjelderSoker = parseBoolean(BrevPeriodeParser.DomenebegrepBrevBegrunnelse.GJELDER_SØKER, rad), - barnasFodselsdatoer = parseString( + barnasFodselsdatoer = parseValgfriString( BrevPeriodeParser.DomenebegrepBrevBegrunnelse.BARNAS_FØDSELSDAGER, rad, - ), + ) ?: "", fodselsdatoerBarnOppfyllerTriggereOgHarUtbetaling = "", fodselsdatoerBarnOppfyllerTriggereOgHarNullutbetaling = "", diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevperiodeUtil.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevperiodeUtil.kt new file mode 100644 index 00000000000..598f1538be4 --- /dev/null +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/BrevperiodeUtil.kt @@ -0,0 +1,37 @@ +package no.nav.familie.ba.sak.cucumber + +import io.cucumber.datatable.DataTable +import no.nav.familie.ba.sak.cucumber.domeneparser.BrevPeriodeParser +import no.nav.familie.ba.sak.cucumber.domeneparser.Domenebegrep +import no.nav.familie.ba.sak.cucumber.domeneparser.parseEnum +import no.nav.familie.ba.sak.cucumber.domeneparser.parseInt +import no.nav.familie.ba.sak.cucumber.domeneparser.parseString +import no.nav.familie.ba.sak.cucumber.domeneparser.parseValgfriString +import no.nav.familie.ba.sak.kjerne.brev.domene.maler.brevperioder.BrevPeriode +import no.nav.familie.ba.sak.kjerne.vedtak.domene.BrevBegrunnelse + +fun parseBrevPerioder(dataTable: DataTable): List { + return dataTable.asMaps().map { rad: Tabellrad -> + + val beløp = parseString(BrevPeriodeParser.DomenebegrepBrevBegrunnelse.BELØP, rad) + val antallBarn = parseInt(BrevPeriodeParser.DomenebegrepBrevBegrunnelse.ANTALL_BARN, rad) + val barnasFodselsdatoer = parseValgfriString( + BrevPeriodeParser.DomenebegrepBrevBegrunnelse.BARNAS_FØDSELSDAGER, + rad, + ) ?: "" + val duEllerInstitusjonen = + parseString(BrevPeriodeParser.DomenebegrepBrevBegrunnelse.DU_ELLER_INSTITUSJONEN, rad) + + BrevPeriode( + fom = parseValgfriString(Domenebegrep.FRA_DATO, rad) ?: "", + tom = parseValgfriString(Domenebegrep.TIL_DATO, rad) ?: "", + beløp = beløp, + // egen test for dette. Se `forvent følgende brevbegrunnelser for behandling i periode`() + begrunnelser = emptyList(), + brevPeriodeType = parseEnum(BrevPeriodeParser.DomenebegrepBrevBegrunnelse.TYPE, rad), + antallBarn = antallBarn.toString(), + barnasFodselsdager = barnasFodselsdatoer, + duEllerInstitusjonen = duEllerInstitusjonen, + ) + } +} diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BasisDomeneParser.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BasisDomeneParser.kt index a66a1b4ca19..ec2607c4b16 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BasisDomeneParser.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BasisDomeneParser.kt @@ -1,15 +1,31 @@ package no.nav.familie.ba.sak.cucumber.domeneparser +import no.nav.familie.ba.sak.common.nbLocale import java.math.BigDecimal import java.time.LocalDate import java.time.YearMonth import java.time.format.DateTimeFormatter val norskDatoFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy") +val norskDatoFormatterKort = DateTimeFormatter.ofPattern("dd.MM.yy", nbLocale) val norskÅrMånedFormatter = DateTimeFormatter.ofPattern("MM.yyyy") val isoDatoFormatter = DateTimeFormatter.ISO_LOCAL_DATE val isoÅrMånedFormatter = DateTimeFormatter.ofPattern("yyyy-MM") +fun parseValgfriDatoListe(domenebegrep: Domenenøkkel, rad: Map): List { + val stringVerdier = parseValgfriString(domenebegrep, rad)?.split(",")?.map { it.trim() } ?: emptyList() + return stringVerdier.map { + parseDato(it) + } +} + +fun parseDatoListe(domenebegrep: Domenenøkkel, rad: Map): List { + val stringVerdier = parseString(domenebegrep, rad).split(",").map { it.trim() } + return stringVerdier.map { + parseDato(it) + } +} + fun parseDato(domenebegrep: Domenenøkkel, rad: Map): LocalDate { return parseDato(domenebegrep.nøkkel, rad) } diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BrevPeriodeParser.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BrevPeriodeParser.kt index 9107f60c0ea..9377b22dea9 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BrevPeriodeParser.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/domeneparser/BrevPeriodeParser.kt @@ -14,5 +14,6 @@ object BrevPeriodeParser { AVTALETIDSPUNKT_DELT_BOSTED("Avtaletidspunkt delt bosted"), SØKERS_RETT_TIL_UTVIDET("Søkers rett til utvidet"), TYPE("Type"), + DU_ELLER_INSTITUSJONEN("Du eller institusjonen"), } } diff --git "a/src/test/resources/no/nav/familie/ba/sak/cucumber/brevPerioder/vilk\303\245r.feature" "b/src/test/resources/no/nav/familie/ba/sak/cucumber/brevPerioder/vilk\303\245r.feature" new file mode 100644 index 00000000000..0398d8d6fd0 --- /dev/null +++ "b/src/test/resources/no/nav/familie/ba/sak/cucumber/brevPerioder/vilk\303\245r.feature" @@ -0,0 +1,37 @@ +# language: no +# encoding: UTF-8 + +Egenskap: Brevbegrunnelser ved endring av vilkår + + Bakgrunn: + Gitt følgende behandling + | BehandlingId | + | 1 | + + Og følgende persongrunnlag for begrunnelse + | BehandlingId | AktørId | Persontype | Fødselsdato | + | 1 | 1234 | SØKER | 11.01.1970 | + | 1 | 3456 | BARN | 13.04.2020 | + + Scenario: Skal lage vedtaksperioder for mor med et barn med vilkår + Og lag personresultater for begrunnelse for behandling 1 + + Og legg til nye vilkårresultater for begrunnelse for behandling 1 + | AktørId | Vilkår | Fra dato | Til dato | Resultat | + | 1234 | BOSATT_I_RIKET, LOVLIG_OPPHOLD | 11.01.1970 | | Oppfylt | + | 3456 | UNDER_18_ÅR | 13.04.2020 | 12.04.2038 | Oppfylt | + | 3456 | GIFT_PARTNERSKAP, BOSATT_I_RIKET, LOVLIG_OPPHOLD | 13.04.2020 | | Oppfylt | + | 3456 | BOR_MED_SØKER | 13.04.2020 | 10.03.2021 | Oppfylt | + + Og med andeler tilkjent ytelse for begrunnelse + | AktørId | Fra dato | Til dato | Beløp | BehandlingId | + | 3456 | 01.05.2020 | 31.03.2021 | 1354 | 1 | + + Og med vedtaksperioder for behandling 1 + | Fra dato | Til dato | Standardbegrunnelser | Eøsbegrunnelser | Fritekster | + | 01.04.2021 | | OPPHØR_BARN_FLYTTET_FRA_SØKER | | | + + Så forvent følgende brevperioder for behandling 1 + | Type | Fra dato | Til dato | Beløp | Antall barn | Barnas fødselsdager | Du eller institusjonen | + | INGEN_UTBETALING | april 2021 | | 0 | 0 | | du | +