From 36fc15db7494c00da4fa94817c31f3b7c342fd7e Mon Sep 17 00:00:00 2001 From: bragejahren <70642183+bragejahren@users.noreply.github.com> Date: Thu, 13 Feb 2025 10:45:53 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20Omskriving=20av=20OPPDATER=5FUTVIDET=5FK?= =?UTF-8?q?LASSEKODE-behandling=20for=20=C3=A5=20kunne=20fikse=20fagsaker?= =?UTF-8?q?=20med=20feil=20periodeIder=20(#5071)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [NAV-24233](https://favro.com/organization/98c34fb974ce445eac854de0/1844bbac3b6605eacc8f5543?card=NAV-24233) ### 💰 Hva skal gjøres, og hvorfor? For å få korrigert fagsaker med feil offsets på siste iverksatte behandling skriver vi her om logikken i `OPPDATER_UTVIDET_KLASSEKODE`-behandlinger. Nå sørger vi for at vi sender alle andeler fra og med andelen som overlapper med inneværende mnd og fremover for alle fagsaker som er berørt. I verste fall vil dette innebære at vi sender andeler fra og med 01.07.23 og frem over på nytt, og vi vil derfor få 0-utbetalinger fra 01.07.23 og for alle måneder frem til nå. Fagsaker som blir plukket ut for kjøring er fagsaker som tidligere har hatt en `OPPDATER_UTVIDET_KLASSEKODE`-behandling og som har blitt revurdert i etterkant. Noen av disse vil ikke ha feil offset og vil bli ignorert i selve jobben. En spørring 11.02.25 sier at det er 995 fagsaker som vil bli plukket ut, og det vil da altså være et subset av disse vi vil kjøre behandlingen for. ### ✅ Checklist - [ ] Jeg har testet mine endringer i henhold til akseptansekriteriene 🕵️ - [ ] Jeg har config- eller sql-endringer. - [x] Jeg har skrevet tester. ### 💬 Ønsker du en muntlig gjennomgang? - [ ] Ja - [ ] Nei --- ...aterUtvidetKlassekodeBehandlingUtleder.kt" | 7 +- .../UtbetalingsoppdragGenerator.kt" | 3 +- ...ovedtakOppdaterUtvidetKlassekodeService.kt | 34 +++-- ...UtvidetKlassekodeUtvidetAndelerSplitter.kt | 20 --- ...terUtvidetKlassekodeKj\303\270ringTask.kt" | 2 +- .../beregning/UtvidetBarnetrygdGenerator.kt | 7 +- .../ba/sak/kjerne/fagsak/FagsakRepository.kt | 39 ++--- ...UtvidetKlassekodeBehandlingUtlederTest.kt" | 22 +-- .../UtbetalingsoppdragGeneratorTest.kt" | 29 ++-- ...detKlassekodeUtvidetAndelerSplitterTest.kt | 137 ------------------ ...aksperioderOgBegrunnelserStepDefinition.kt | 11 -- ...ovedtakOppdaterUtvidetKlassekodeService.kt | 37 ----- ...vedtak_oppdater_utvidet_klassekode.feature | 74 ---------- ...ppdaterUtvidetKlassekodeBehandling.feature | 19 +-- ...ppdaterUtvidetKlassekodeBehandling.feature | 28 ++-- 15 files changed, 94 insertions(+), 375 deletions(-) delete mode 100644 src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt delete mode 100644 src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt delete mode 100644 src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt delete mode 100644 src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" index 4ba7d2c2bd2..6e9b2113375 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" @@ -18,12 +18,13 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder( val (utvidetAndelerTilkjentYtelse, øvrigeAndelerTilkjentYtelse) = forrigeTilkjentYtelse.andelerTilkjentYtelse.partition { it.erUtvidet() } val utvidetAndeler = utvidetAndelerTilkjentYtelse.mapNotNull { - // Splitter andel som treffer inneværende måned og fjerner alle andeler som kommer etter. - if (it.stønadFom <= inneværendeMåned && it.stønadTom > inneværendeMåned) { - it.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd).copy(tom = inneværendeMåned) + // Fjerner alle andeler som overlapper eller kommer etter inneværende måned + if (it.stønadFom <= inneværendeMåned && it.stønadTom >= inneværendeMåned) { + null } else if (it.stønadFom >= inneværendeMåned) { null } else { + // Tar med alle andeler som kommer før it.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd) } } diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" index b1a684166a3..49fdc5acd02 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" @@ -4,7 +4,6 @@ import no.nav.familie.ba.sak.config.FeatureToggle import no.nav.familie.ba.sak.config.featureToggle.UnleashNextMedContextService import no.nav.familie.ba.sak.kjerne.behandling.BehandlingHentOgPersisterService import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling -import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingÅrsak import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelseRepository import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelse @@ -54,7 +53,7 @@ class UtbetalingsoppdragGenerator( val forrigeAndeler = if (forrigeTilkjentYtelse == null) { emptyList() - } else if (vedtak.behandling.opprettetÅrsak != BehandlingÅrsak.OPPDATER_UTVIDET_KLASSEKODE) { + } else if (!vedtak.behandling.erOppdaterUtvidetKlassekode()) { forrigeTilkjentYtelse.tilAndelData(skalBrukeNyKlassekodeForUtvidetBarnetrygd) } else { andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(forrigeTilkjentYtelse, skalBrukeNyKlassekodeForUtvidetBarnetrygd) diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt index f04e6a08912..eeb2f8d9a49 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt @@ -11,6 +11,7 @@ import no.nav.familie.ba.sak.kjerne.behandling.SnikeIKøenService import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingType import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingÅrsak +import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelseRepository import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelseRepository import no.nav.familie.ba.sak.kjerne.steg.StegType import no.nav.familie.ba.sak.sikkerhet.SikkerhetContext @@ -27,29 +28,40 @@ class AutovedtakOppdaterUtvidetKlassekodeService( private val autovedtakService: AutovedtakService, private val taskRepository: TaskRepositoryWrapper, private val tilkjentYtelseRepository: TilkjentYtelseRepository, + private val andelTilkjentYtelseRepository: AndelTilkjentYtelseRepository, ) { val logger = LoggerFactory.getLogger(this::class.java) @Transactional fun utførMigreringTilOppdatertUtvidetKlassekode(fagsakId: Long) { - logger.info("Utfører migrering til ny klassekode for utvidet barnetrygd for fagsak=$fagsakId") + logger.info("Revurderer fagsak=$fagsakId som kan ha feil periodeId'er i siste vedtatte behandling") - if (tilkjentYtelseRepository.harFagsakTattIBrukNyKlassekodeForUtvidetBarnetrygd(fagsakId)) { - logger.info("Hopper ut av behandling fordi fagsak $fagsakId allerede bruker ny klassekode for utvidet barnetrygd.") - oppdaterUtvidetKlassekodeKjøringRepository.settBrukerNyKlassekodeTilTrueOgStatusTilUtført(fagsakId) - return - } - - val sisteVedtatteBehandling = - behandlingHentOgPersisterService.hentSisteBehandlingSomErVedtatt(fagsakId = fagsakId) + val sisteIverksatteBehandling = + behandlingHentOgPersisterService.hentSisteBehandlingSomErIverksatt(fagsakId = fagsakId) ?: error("Fant ikke siste vedtatte behandling for fagsak $fagsakId") - if (!sisteVedtatteBehandling.harLøpendeUtvidetBarnetrygd()) { + if (!sisteIverksatteBehandling.harLøpendeUtvidetBarnetrygd()) { logger.info("Hopper ut av behandling fordi fagsak $fagsakId ikke har løpende utvidet barnetrygd.") oppdaterUtvidetKlassekodeKjøringRepository.deleteByFagsakId(fagsakId) return } + val sisteAndelIUtvidetKjede = + andelTilkjentYtelseRepository + .hentSisteAndelPerIdentOgType(fagsakId) + .single { it.erUtvidet() } + + val harSisteUtvidetAndelISisteIverksatteBehandling = + andelTilkjentYtelseRepository + .finnAndelerTilkjentYtelseForBehandling(behandlingId = sisteIverksatteBehandling.id) + .filter { it.erUtvidet() } + .any { it.periodeOffset == sisteAndelIUtvidetKjede.periodeOffset } + + if (harSisteUtvidetAndelISisteIverksatteBehandling) { + logger.info("Hopper ut av behandling fordi fagsak $fagsakId har siste utvidet andel i siste vedtatte behandling") + oppdaterUtvidetKlassekodeKjøringRepository.deleteByFagsakId(fagsakId) + } + val aktivOgÅpenBehandling = behandlingHentOgPersisterService.finnAktivOgÅpenForFagsak(fagsakId = fagsakId) if (aktivOgÅpenBehandling != null) { @@ -69,7 +81,7 @@ class AutovedtakOppdaterUtvidetKlassekodeService( val behandlingEtterBehandlingsresultat = autovedtakService.opprettAutomatiskBehandlingOgKjørTilBehandlingsresultat( - aktør = sisteVedtatteBehandling.fagsak.aktør, + aktør = sisteIverksatteBehandling.fagsak.aktør, behandlingType = BehandlingType.REVURDERING, behandlingÅrsak = BehandlingÅrsak.OPPDATER_UTVIDET_KLASSEKODE, fagsakId = fagsakId, diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt deleted file mode 100644 index 063b6d52149..00000000000 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode - -import no.nav.familie.ba.sak.common.inneværendeMåned -import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse - -object OppdaterUtvidetKlassekodeUtvidetAndelerSplitter { - fun splittUtvidetAndelerIInneværendeMåned(andelerTilkjentYtelse: Collection): List { - val inneværendeMåned = inneværendeMåned() - return andelerTilkjentYtelse.flatMap { - if (it.erUtvidet() && it.stønadFom <= inneværendeMåned && it.stønadTom > inneværendeMåned) { - listOf( - it.copy(stønadFom = it.stønadFom, stønadTom = inneværendeMåned), - it.copy(stønadFom = inneværendeMåned.plusMonths(1), stønadTom = it.stønadTom), - ) - } else { - listOf(it) - } - } - } -} diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" index 02d09ed6793..198065d41cd 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" @@ -32,7 +32,7 @@ class PopulerOppdaterUtvidetKlassekodeKjøringTask( val (fagsakerSomSkalLagres, time) = measureTimedValue { fagsakRepository - .finnFagsakerMedLøpendeUtvidetBarnetrygdSomBrukerGammelKlassekode() + .finnFagsakerMedIverksattRevurderingEtterOppdaterUtvidetKlassekodeBehandling() .minus(fagsakerSomErLagret) .map { OppdaterUtvidetKlassekodeKjøring(fagsakId = it) } } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt index e14fc39d947..cb983eeed7c 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt @@ -2,7 +2,6 @@ package no.nav.familie.ba.sak.kjerne.beregning import no.nav.familie.ba.sak.common.FunksjonellFeil import no.nav.familie.ba.sak.common.Utils.avrundetHeltallAvProsent -import no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode.OppdaterUtvidetKlassekodeUtvidetAndelerSplitter import no.nav.familie.ba.sak.kjerne.beregning.UtvidetBarnetrygdUtil.filtrertForPerioderBarnaBorMedSøker import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse import no.nav.familie.ba.sak.kjerne.beregning.domene.SatsType @@ -62,10 +61,6 @@ data class UtvidetBarnetrygdGenerator( ) } - return if (tilkjentYtelse.behandling.erOppdaterUtvidetKlassekode()) { - OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(utvidetAndeler) - } else { - utvidetAndeler - } + return utvidetAndeler } } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt index 0990a319a82..5c32da0314f 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt @@ -225,34 +225,19 @@ WHERE silp.stonad_tom < DATE_TRUNC('month', NOW()) @Query( """ - WITH sisteVedtatteBehandling AS (SELECT b.id, b.fk_fagsak_id - FROM behandling b - JOIN fagsak f ON b.fk_fagsak_id = f.id - WHERE b.status = 'AVSLUTTET' - AND b.resultat NOT LIKE 'HENLAGT%' - AND f.status = 'LØPENDE' - AND f.arkivert = false - AND b.aktivert_tid = (SELECT MAX(b2.aktivert_tid) - FROM behandling b2 - WHERE b2.fk_fagsak_id = f.id - AND b2.status = 'AVSLUTTET' - AND b2.resultat NOT LIKE 'HENLAGT%')), - fagsakMedLøpendeUtvidet AS (SELECT svb.fk_fagsak_id - FROM sisteVedtatteBehandling svb - JOIN tilkjent_ytelse ty ON ty.fk_behandling_id = svb.id - JOIN andel_tilkjent_ytelse aty ON aty.tilkjent_ytelse_id = ty.id - WHERE aty.type = 'UTVIDET_BARNETRYGD' - AND aty.stonad_tom >= DATE_TRUNC('month', NOW())) - - SELECT fmle.fk_fagsak_id - FROM fagsakMedLøpendeUtvidet fmle - EXCEPT (SELECT f.id - FROM fagsak f - JOIN behandling b on f.id = b.fk_fagsak_id - JOIN tilkjent_ytelse ty ON b.id = ty.fk_behandling_id - WHERE ty.utbetalingsoppdrag is not null and ty.utbetalingsoppdrag like '%"klassifisering":"BAUTV-OP"%') + SELECT DISTINCT b1.fk_fagsak_id + FROM behandling b1 + JOIN behandling b2 + ON b1.fk_fagsak_id = b2.fk_fagsak_id + AND b2.aktivert_tid > b1.aktivert_tid + AND b2.opprettet_aarsak != 'OPPDATER_UTVIDET_KLASSEKODE' + AND b2.status = 'AVSLUTTET' + AND b2.resultat NOT LIKE 'HENLAGT%' + JOIN tilkjent_ytelse ty + ON b2.id = ty.fk_behandling_id AND ty.utbetalingsoppdrag IS NOT NULL + WHERE b1.opprettet_aarsak = 'OPPDATER_UTVIDET_KLASSEKODE'; """, nativeQuery = true, ) - fun finnFagsakerMedLøpendeUtvidetBarnetrygdSomBrukerGammelKlassekode(): List + fun finnFagsakerMedIverksattRevurderingEtterOppdaterUtvidetKlassekodeBehandling(): List } diff --git "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" index 7ee0a825c23..27c34914874 100644 --- "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" +++ "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" @@ -53,7 +53,7 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { } @Test - fun `skal splitte utvidet andel dersom nåtidspunkt treffer andelen samt fjerne alle utvidet andeler etter nåtidspunkt`() { + fun `skal fjerne utvidet andel dersom nåtidspunkt treffer andelen samt fjerne alle utvidet andeler etter nåtidspunkt`() { // Arrange val tilkjentYtelse = lagTilkjentYtelse() val denneMåned = YearMonth.now(clockProvider.get()) @@ -80,13 +80,8 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { val forrigeAndeler = andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(tilkjentYtelse, true) // Assert - assertThat(forrigeAndeler).hasSize(2) - val utvidetAndelData = forrigeAndeler.single { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData.fom).isEqualTo(utvidetAndel.stønadFom) - assertThat(utvidetAndelData.tom).isEqualTo(denneMåned) - assertThat(utvidetAndelData.id).isEqualTo(utvidetAndel.id) - assertThat(utvidetAndelData.beløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(utvidetAndelData.type).isEqualTo(YtelsetypeBA.UTVIDET_BARNETRYGD) + assertThat(forrigeAndeler).hasSize(1) + assertThat(forrigeAndeler.none { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD }).isTrue } @Test @@ -118,7 +113,7 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { } @Test - fun `skal returnere tom liste dersom det ikke finnes noen forrige tilkjent ytelse`() { + fun `skal fjerne utvidet andel som treffer nåtidspunkt og alle etterfølgende utvidet andeler`() { // Arrange val tilkjentYtelse = lagTilkjentYtelse() val denneMåned = YearMonth.now(clockProvider.get()) @@ -152,13 +147,8 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { val forrigeAndeler = andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(tilkjentYtelse, true) // Assert - assertThat(forrigeAndeler).hasSize(2) - val utvidetAndelData = forrigeAndeler.single { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData.fom).isEqualTo(utvidetAndel.stønadFom) - assertThat(utvidetAndelData.tom).isEqualTo(denneMåned) - assertThat(utvidetAndelData.id).isEqualTo(utvidetAndel.id) - assertThat(utvidetAndelData.beløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(utvidetAndelData.type).isEqualTo(YtelsetypeBA.UTVIDET_BARNETRYGD) + assertThat(forrigeAndeler).hasSize(1) + assertThat(forrigeAndeler.none { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD }).isTrue } } } diff --git "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" index 6026b28e0b5..a1cf4500480 100644 --- "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" +++ "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" @@ -3,7 +3,9 @@ package no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag import io.mockk.every import io.mockk.mockk import io.mockk.verify +import no.nav.familie.ba.sak.TestClockProvider import no.nav.familie.ba.sak.common.førsteDagIInneværendeMåned +import no.nav.familie.ba.sak.common.sisteDagIInneværendeMåned import no.nav.familie.ba.sak.common.sisteDagIMåned import no.nav.familie.ba.sak.common.toYearMonth import no.nav.familie.ba.sak.config.FeatureToggle @@ -28,6 +30,7 @@ import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.ValueSource import java.time.LocalDate +import java.time.YearMonth class UtbetalingsoppdragGeneratorTest { private val klassifiseringKorrigerer: KlassifiseringKorrigerer = mockk() @@ -36,7 +39,7 @@ class UtbetalingsoppdragGeneratorTest { private val andelTilkjentYtelseRepository: AndelTilkjentYtelseRepository = mockk() private val behandlingHentOgPersisterService: BehandlingHentOgPersisterService = mockk() private val tilkjentYtelseRepository: TilkjentYtelseRepository = mockk() - private val andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder: AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder = mockk() + private val andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder: AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder = AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder(TestClockProvider.lagClockProviderMedFastTidspunkt(YearMonth.of(2025, 2))) private val utbetalingsoppdragGenerator = UtbetalingsoppdragGenerator( utbetalingsgenerator = Utbetalingsgenerator(), @@ -319,8 +322,8 @@ class UtbetalingsoppdragGeneratorTest { lagAndelTilkjentYtelse( id = 1, behandling = forrigeBehandling, - fom = LocalDate.now().toYearMonth(), - tom = LocalDate.now().toYearMonth(), + fom = YearMonth.of(2024, 6), + tom = YearMonth.of(2025, 3), periodeIdOffset = 0, forrigeperiodeIdOffset = null, person = barn, @@ -340,8 +343,8 @@ class UtbetalingsoppdragGeneratorTest { lagAndelTilkjentYtelse( id = 2, behandling = behandling, - fom = LocalDate.now().toYearMonth(), - tom = LocalDate.now().toYearMonth(), + fom = YearMonth.of(2024, 6), + tom = YearMonth.of(2025, 3), person = barn, ytelseType = YtelseType.UTVIDET_BARNETRYGD, kildeBehandlingId = null, @@ -409,8 +412,6 @@ class UtbetalingsoppdragGeneratorTest { firstArg() } - every { andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(any(), any()) } returns emptyList() - every { tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) } returns emptyList() // Act val beregnetUtbetalingsoppdragLongId = @@ -444,11 +445,21 @@ class UtbetalingsoppdragGeneratorTest { beregnetUtbetalingsoppdragLongId.utbetalingsoppdrag.utbetalingsperiode .single() .vedtakdatoFom, - ).isEqualTo(LocalDate.now().førsteDagIInneværendeMåned()) + ).isEqualTo( + tilkjentYtelse.andelerTilkjentYtelse + .single() + .stønadFom + .førsteDagIInneværendeMåned(), + ) assertThat( beregnetUtbetalingsoppdragLongId.utbetalingsoppdrag.utbetalingsperiode .single() .vedtakdatoTom, - ).isEqualTo(LocalDate.now().sisteDagIMåned()) + ).isEqualTo( + tilkjentYtelse.andelerTilkjentYtelse + .single() + .stønadTom + .sisteDagIInneværendeMåned(), + ) } } diff --git a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt deleted file mode 100644 index 8557d125c95..00000000000 --- a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt +++ /dev/null @@ -1,137 +0,0 @@ -package no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode - -import no.nav.familie.ba.sak.common.inneværendeMåned -import no.nav.familie.ba.sak.datagenerator.lagAndelTilkjentYtelse -import no.nav.familie.ba.sak.datagenerator.lagTilkjentYtelse -import no.nav.familie.ba.sak.kjerne.beregning.domene.YtelseType -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Test - -class OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest { - @Test - fun `skal splitte utvidet andel dersom nåtidspunkt treffer andelen`() { - // Arrange - val tilkjentYtelse = lagTilkjentYtelse() - val denneMåned = inneværendeMåned() - val utvidetAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.plusMonths(3), - ytelseType = YtelseType.UTVIDET_BARNETRYGD, - ) - val ordinærAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.ORDINÆR_BARNETRYGD, - ) - tilkjentYtelse.andelerTilkjentYtelse.addAll( - listOf( - utvidetAndel, - ordinærAndel, - ), - ) - - // Act - val forrigeAndeler = OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(tilkjentYtelse.andelerTilkjentYtelse) - - // Assert - assertThat(forrigeAndeler).hasSize(3) - val utvidetAndelData = forrigeAndeler.filter { it.type == YtelseType.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData).hasSize(2) - val førsteUtvidetAndelData = utvidetAndelData.first() - assertThat(førsteUtvidetAndelData.stønadFom).isEqualTo(utvidetAndel.stønadFom) - assertThat(førsteUtvidetAndelData.stønadTom).isEqualTo(denneMåned) - assertThat(førsteUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(førsteUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - - val andreUtvidetAndelData = utvidetAndelData.last() - assertThat(andreUtvidetAndelData.stønadFom).isEqualTo(denneMåned.plusMonths(1)) - assertThat(andreUtvidetAndelData.stønadTom).isEqualTo(utvidetAndel.stønadTom) - assertThat(andreUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(andreUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - } - - @Test - fun `skal returnere alle utvidet andeler uendret dersom nåtidspunkt ikke treffer noen utvidet andeler`() { - // Arrange - val tilkjentYtelse = lagTilkjentYtelse() - val denneMåned = inneværendeMåned() - val utvidetAndelFørNåtidspunkt = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.UTVIDET_BARNETRYGD, - ) - val utvidetAndelEtterNåtidspunkt = - lagAndelTilkjentYtelse( - fom = denneMåned.plusMonths(1), - tom = denneMåned.plusMonths(3), - ytelseType = YtelseType.UTVIDET_BARNETRYGD, - ) - val ordinærAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.ORDINÆR_BARNETRYGD, - ) - tilkjentYtelse.andelerTilkjentYtelse.addAll( - listOf( - utvidetAndelFørNåtidspunkt, - utvidetAndelEtterNåtidspunkt, - ordinærAndel, - ), - ) - - // Act - val forrigeAndeler = OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(tilkjentYtelse.andelerTilkjentYtelse) - - // Assert - assertThat(forrigeAndeler).hasSize(3) - val utvidetAndelData = forrigeAndeler.filter { it.type == YtelseType.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData).hasSize(2) - val førsteUtvidetAndelData = utvidetAndelData.first() - assertThat(førsteUtvidetAndelData.stønadFom).isEqualTo(utvidetAndelFørNåtidspunkt.stønadFom) - assertThat(førsteUtvidetAndelData.stønadTom).isEqualTo(utvidetAndelFørNåtidspunkt.stønadTom) - assertThat(førsteUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndelFørNåtidspunkt.kalkulertUtbetalingsbeløp) - assertThat(førsteUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - - val andreUtvidetAndelData = utvidetAndelData.last() - assertThat(andreUtvidetAndelData.stønadFom).isEqualTo(utvidetAndelEtterNåtidspunkt.stønadFom) - assertThat(andreUtvidetAndelData.stønadTom).isEqualTo(utvidetAndelEtterNåtidspunkt.stønadTom) - assertThat(andreUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndelEtterNåtidspunkt.kalkulertUtbetalingsbeløp) - assertThat(andreUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - } - - @Test - fun `skal ikke splitte utvidet andel dersom nåtidspunkt treffer andelen og andelen kun inneholder 1 mnd`() { - // Arrange - val tilkjentYtelse = lagTilkjentYtelse() - val denneMåned = inneværendeMåned() - val utvidetAndel = - lagAndelTilkjentYtelse(fom = denneMåned, tom = denneMåned, ytelseType = YtelseType.UTVIDET_BARNETRYGD) - val ordinærAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.ORDINÆR_BARNETRYGD, - ) - tilkjentYtelse.andelerTilkjentYtelse.addAll( - listOf( - utvidetAndel, - ordinærAndel, - ), - ) - - // Act - val forrigeAndeler = OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(tilkjentYtelse.andelerTilkjentYtelse) - - // Assert - assertThat(forrigeAndeler).hasSize(2) - val utvidetAndelData = forrigeAndeler.single { it.type == YtelseType.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData.stønadFom).isEqualTo(utvidetAndel.stønadFom) - assertThat(utvidetAndelData.stønadTom).isEqualTo(utvidetAndel.stønadTom) - assertThat(utvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(utvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - } -} diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt index eacdf155f76..e4268e58db5 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt @@ -23,7 +23,6 @@ import no.nav.familie.ba.sak.cucumber.domeneparser.parseString import no.nav.familie.ba.sak.cucumber.domeneparser.parseValgfriDato import no.nav.familie.ba.sak.cucumber.mock.CucumberMock import no.nav.familie.ba.sak.cucumber.mock.mockAutovedtakMånedligValutajusteringService -import no.nav.familie.ba.sak.cucumber.mock.mockAutovedtakOppdaterUtvidetKlassekodeService import no.nav.familie.ba.sak.ekstern.restDomene.BarnMedOpplysninger import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelseMedEndreteUtbetalinger @@ -672,16 +671,6 @@ class VedtaksperioderOgBegrunnelserStepDefinition { ).utførMånedligValutajustering(fagsakId = fagsakId, måned = dagensDato.toYearMonth()) } - @Når("vi lager automatisk behandling på fagsak {} med årsak OPPDATER_UTVIDET_KLASSEKODE") - fun `kjør autovetak med årsak OPPDATER_UTVIDET_KLASSEKODE på fagsak `(fagsakId: Long) { - val fagsak = fagsaker[fagsakId]!! - - mockAutovedtakOppdaterUtvidetKlassekodeService( - dataFraCucumber = this, - fagsak = fagsak, - ).utførMigreringTilOppdatertUtvidetKlassekode(fagsakId = fagsakId) - } - @Så("forvent følgende valutakurser for behandling {}") fun `forvent følgende valutakurser for behandling`( behandlingId: Long, diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt deleted file mode 100644 index 5587bbed10c..00000000000 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt +++ /dev/null @@ -1,37 +0,0 @@ -package no.nav.familie.ba.sak.cucumber.mock - -import io.mockk.every -import no.nav.familie.ba.sak.cucumber.VedtaksperioderOgBegrunnelserStepDefinition -import no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode.AutovedtakOppdaterUtvidetKlassekodeService -import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingStatus -import no.nav.familie.ba.sak.kjerne.fagsak.Fagsak - -fun mockAutovedtakOppdaterUtvidetKlassekodeService( - dataFraCucumber: VedtaksperioderOgBegrunnelserStepDefinition, - fagsak: Fagsak, -): AutovedtakOppdaterUtvidetKlassekodeService { - val forrigeBehandling = - dataFraCucumber.behandlinger.values - .filter { it.fagsak.id == fagsak.id && it.status == BehandlingStatus.AVSLUTTET } - .maxByOrNull { it.id } ?: error("Fant ingen forrige behandling for fagsak=${fagsak.id}") - val nyBehandlingId = forrigeBehandling.id.plus(1) - dataFraCucumber.behandlingTilForrigeBehandling[nyBehandlingId] = forrigeBehandling.id - - val cucumberMock = - CucumberMock( - dataFraCucumber = dataFraCucumber, - nyBehandlingId = nyBehandlingId, - forrigeBehandling = forrigeBehandling, - ) - - every { cucumberMock.snikeIKøenService.kanSnikeForbi(any()) } returns true - - return AutovedtakOppdaterUtvidetKlassekodeService( - behandlingHentOgPersisterService = cucumberMock.behandlingHentOgPersisterService, - autovedtakService = cucumberMock.autovedtakService, - taskRepository = cucumberMock.taskRepository, - snikeIKøenService = cucumberMock.snikeIKøenService, - oppdaterUtvidetKlassekodeKjøringRepository = cucumberMock.oppdaterUtvidetKlassekodeKjøringRepository, - tilkjentYtelseRepository = cucumberMock.tilkjentYtelseRepository, - ) -} diff --git a/src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature b/src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature deleted file mode 100644 index 4c8cc6b00a5..00000000000 --- a/src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature +++ /dev/null @@ -1,74 +0,0 @@ -# language: no -# encoding: UTF-8 - -Egenskap: Automatisk behandling for ny klassekode for utvidet barnetrygd - - Bakgrunn: - Gitt følgende fagsaker - | FagsakId | Fagsaktype | Status | - | 1 | NORMAL | OPPRETTET | - - Gitt følgende behandlinger - | BehandlingId | FagsakId | Behandlingsårsak | Behandlingskategori | Underkategori | Behandlingsresultat | Behandlingsstatus | Behandlingssteg | - | 1 | 1 | SØKNAD | NASJONAL | UTVIDET | INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | - - Og følgende persongrunnlag - | BehandlingId | AktørId | Persontype | Fødselsdato | Dødsfalldato | - | 1 | 1 | SØKER | 24.08.1989 | | - | 1 | 2 | BARN | 13.06.2023 | | - - Scenario: skal gjennomføres for fagsak som har løpende barnetrygd og ikke er oppdatert - - Og med følgende feature toggles - | BehandlingId | FeatureToggleId | Er togglet på | - | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | - | 2 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | - - Og dagens dato er 15.11.2024 - Og lag personresultater for behandling 1 - - Og legg til nye vilkårresultater for behandling 1 - | AktørId | Vilkår | Fra dato | Til dato | Resultat | Er eksplisitt avslag | - | 1 | BOSATT_I_RIKET,LOVLIG_OPPHOLD | 24.08.1989 | | OPPFYLT | Nei | - | 1 | UTVIDET_BARNETRYGD | 13.06.2023 | | OPPFYLT | Nei | - - | 2 | BOSATT_I_RIKET,LOVLIG_OPPHOLD,BOR_MED_SØKER,GIFT_PARTNERSKAP | 13.06.2023 | | OPPFYLT | Nei | - | 2 | UNDER_18_ÅR | 13.06.2023 | 12.06.2041 | OPPFYLT | Nei | - - Og med andeler tilkjent ytelse - | AktørId | BehandlingId | Fra dato | Til dato | Beløp | Ytelse type | Prosent | Sats | - | 1 | 1 | 01.07.2023 | 31.05.2041 | 2516 | UTVIDET_BARNETRYGD | 100 | 2516 | - | 2 | 1 | 01.07.2023 | 31.05.2041 | 1766 | ORDINÆR_BARNETRYGD | 100 | 1766 | - - Når vi lager automatisk behandling på fagsak 1 med årsak OPPDATER_UTVIDET_KLASSEKODE - - Så forvent disse behandlingene - | BehandlingId | FagsakId | Behandlingstype | Behandlingsårsak | Behandlingskategori | Underkategori | Skal behandles automatisk | Behandlingsresultat | Behandlingsstatus | Behandlingssteg | - | 1 | 1 | FØRSTEGANGSBEHANDLING | SØKNAD | NASJONAL | UTVIDET | Nei | INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | - | 2 | 1 | REVURDERING | OPPDATER_UTVIDET_KLASSEKODE | NASJONAL | UTVIDET | Ja | FORTSATT_INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | - - Scenario: skal ikke oppdateres for fagsak som ikke har løpende barnetrygd - - Og med følgende feature toggles - | BehandlingId | FeatureToggleId | Er togglet på | - | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | - - Og dagens dato er 15.11.2024 - Og lag personresultater for behandling 1 - - Og legg til nye vilkårresultater for behandling 1 - | AktørId | Vilkår | Fra dato | Til dato | Resultat | Er eksplisitt avslag | - | 1 | BOSATT_I_RIKET,LOVLIG_OPPHOLD | 24.08.1989 | | OPPFYLT | Nei | - - | 2 | BOSATT_I_RIKET,LOVLIG_OPPHOLD,BOR_MED_SØKER,GIFT_PARTNERSKAP | 13.06.2023 | | OPPFYLT | Nei | - | 2 | UNDER_18_ÅR | 13.06.2023 | 12.06.2041 | OPPFYLT | Nei | - - Og med andeler tilkjent ytelse - | AktørId | BehandlingId | Fra dato | Til dato | Beløp | Ytelse type | Prosent | Sats | - | 2 | 1 | 01.07.2023 | 31.05.2041 | 1766 | ORDINÆR_BARNETRYGD | 100 | 1766 | - - Når vi lager automatisk behandling på fagsak 1 med årsak OPPDATER_UTVIDET_KLASSEKODE - - Så forvent nøyaktig disse behandlingene for fagsak 1 - | BehandlingId | FagsakId | Behandlingstype | Behandlingsårsak | Behandlingskategori | Underkategori | Skal behandles automatisk | Behandlingsresultat | Behandlingsstatus | Behandlingssteg | - | 1 | 1 | FØRSTEGANGSBEHANDLING | SØKNAD | NASJONAL | UTVIDET | Nei | INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | \ No newline at end of file diff --git a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature index b17369a972c..5e88e1a1fa8 100644 --- a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature +++ b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature @@ -3,7 +3,7 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET_KLASSEKODE - Scenario: Skal sende kjedelementer for utvidet andel fra inneværende måned og fremover i tid når inneværende måned treffer midt i en andel + Scenario: Skal sende kjedelementer for utvidet andeler fra andel som overlapper med inneværende måned og fremover Gitt følgende feature toggles | BehandlingId | FeatureToggleId | Er togglet på | @@ -13,8 +13,7 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET Gitt følgende tilkjente ytelser | BehandlingId | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | | 1 | 08.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | SØKNAD | - | 2 | 08.2024 | 11.2024 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | - | 2 | 12.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | + | 2 | 08.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | Og inneværende måned er 11.2024 @@ -23,9 +22,9 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET Så forvent følgende utbetalingsoppdrag | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 08.2024 | 05.2025 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 12.2024 | 05.2025 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 08.2024 | 05.2025 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | - Scenario: Skal ikke sende kjedelementer for utvidet andel når inneværende måned treffer i en andel og andelen også slutter inneværende måned + Scenario: Skal sende kjedelementer for utvidet andel når inneværende måned treffer i en andel og andelen også slutter inneværende måned Gitt følgende feature toggles | BehandlingId | FeatureToggleId | Er togglet på | @@ -44,6 +43,7 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET Så forvent følgende utbetalingsoppdrag | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 08.2024 | 11.2024 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | + | 2 | 08.2024 | 11.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | Scenario: Skal sende kjedelementer for alle utvidet andeler fra inneværende måned og fremover i tid når inneværende måned treffer midt i en andel @@ -56,8 +56,8 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET | BehandlingId | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | | 1 | 08.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | SØKNAD | | 1 | 06.2025 | 12.2025 | 850 | UTVIDET_BARNETRYGD | SØKNAD | - | 2 | 08.2024 | 11.2024 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | - | 2 | 12.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | + | 2 | 08.2024 | 02.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | + | 2 | 03.2025 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | | 2 | 06.2025 | 12.2025 | 850 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | Og inneværende måned er 11.2024 @@ -68,8 +68,9 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 08.2024 | 05.2025 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | | 1 | 06.2025 | 12.2025 | | 850 | NY | Nei | 1 | 0 | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 12.2024 | 05.2025 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | - | 2 | 06.2025 | 12.2025 | | 850 | ENDR | Nei | 3 | 2 | UTVIDET_BARNETRYGD | + | 2 | 08.2024 | 02.2025 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 2 | 03.2025 | 05.2025 | | 700 | ENDR | Nei | 3 | 2 | UTVIDET_BARNETRYGD | + | 2 | 06.2025 | 12.2025 | | 850 | ENDR | Nei | 4 | 3 | UTVIDET_BARNETRYGD | Scenario: Skal sende kjedelementer for alle utvidet andeler fra inneværende måned og fremover i tid når inneværende måned treffer et hull med utvidet andeler etter diff --git a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature index a5b774b89f0..e9121ba1087 100644 --- a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature +++ b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature @@ -26,8 +26,9 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode Så forvent følgende utbetalingsoppdrag | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | - | 3 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 2 | 1 | UTVIDET_BARNETRYGD | Scenario: Endring av utvidet barnetrygd etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE @@ -53,8 +54,9 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode Så forvent følgende utbetalingsoppdrag | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | - | 3 | 07.2023 | 05.2026 | | 750 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 750 | ENDR | Nei | 3 | 2 | UTVIDET_BARNETRYGD | Scenario: Opphør av utvidet barnetrygd 2 behandlinger etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE @@ -84,10 +86,11 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode Så forvent følgende utbetalingsoppdrag | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | - | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 2 | | ORDINÆR_BARNETRYGD | - | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 3 | 2 | ORDINÆR_BARNETRYGD | - | 5 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 3 | | ORDINÆR_BARNETRYGD | + | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 4 | 3 | ORDINÆR_BARNETRYGD | + | 5 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 2 | 1 | UTVIDET_BARNETRYGD | Scenario: Opphør/forkorting av utvidet barnetrygd 2 behandlinger etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE @@ -117,7 +120,8 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode Så forvent følgende utbetalingsoppdrag | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | - | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 2 | | ORDINÆR_BARNETRYGD | - | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 3 | 2 | ORDINÆR_BARNETRYGD | - | 5 | 01.2025 | 05.2034 | 06.2030 | 700 | ENDR | Ja | 1 | 0 | UTVIDET_BARNETRYGD | \ No newline at end of file + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 3 | | ORDINÆR_BARNETRYGD | + | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 4 | 3 | ORDINÆR_BARNETRYGD | + | 5 | 01.2025 | 05.2034 | 06.2030 | 700 | ENDR | Ja | 2 | 1 | UTVIDET_BARNETRYGD | \ No newline at end of file