From 265a066c379452004efb1284dec8053374a5242b Mon Sep 17 00:00:00 2001 From: Anders Palfi Date: Mon, 13 May 2024 10:00:35 +0200 Subject: [PATCH] FAGSYSTEM-329508 innvilger fri utsettelse for aleneomsorg etter uke 6 --- .../regelflyt/UtsettelseDelregel.java | 15 +++++++++++++-- .../UtsettelseOrkestreringTest.java | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/UtsettelseDelregel.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/UtsettelseDelregel.java index e7389f71..f6c46973 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/UtsettelseDelregel.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/UtsettelseDelregel.java @@ -3,6 +3,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBareFarHarRett; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBarnInnlagt; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmErAleneomsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmFarHarDagerRundtFødsel; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmFødselErFørUke33; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmPeriodeErFørTermin; @@ -56,7 +57,11 @@ public Specification getSpecification() { private Specification sjekkOmBareFarHarRett() { return rs.hvisRegel(SjekkOmBareFarHarRett.ID, SjekkOmBareFarHarRett.BESKRIVELSE) .hvis(new SjekkOmBareFarHarRett(), sjekkOmMorErIAktivitet()) - .ellers(Oppfylt.opprett("UT1351", InnvilgetÅrsak.UTSETTELSE_GYLDIG, false, false)); + .ellers(innvilgUT1351()); + } + + private static FastsettePeriodeUtfall innvilgUT1351() { + return Oppfylt.opprett("UT1351", InnvilgetÅrsak.UTSETTELSE_GYLDIG, false, false); } private Specification sjekkOmMorErIAktivitet() { @@ -68,7 +73,13 @@ private Specification sjekkOmMorErIAktivitet() { private Specification sjekkOmTidsperiodeForbeholdtMor() { return rs.hvisRegel(SjekkOmTidsperiodeForbeholdtMor.ID, SjekkOmTidsperiodeForbeholdtMor.BESKRIVELSE) .hvis(new SjekkOmTidsperiodeForbeholdtMor(), sjekkOmSykdomSkade()) - .ellers(sjekkOmBareFarHarRett()); + .ellers(sjekkOmAleneomsorg()); + } + + private Specification sjekkOmAleneomsorg() { + return rs.hvisRegel(SjekkOmErAleneomsorg.ID, SjekkOmErAleneomsorg.BESKRIVELSE) + .hvis(new SjekkOmErAleneomsorg(), innvilgUT1351()) + .ellers(sjekkOmBareFarHarRett()); } private Specification sjekkOmSykdomSkade() { diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseOrkestreringTest.java index 8d3ab926..6986a291 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseOrkestreringTest.java @@ -750,6 +750,25 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { assertThat(perioder.get(2).uttakPeriode().getUtbetalingsgrad(ARBEIDSFORHOLD)).isEqualTo(Utbetalingsgrad.HUNDRED); } + @Test + void fri_utsettelse_etter_uke_6_far_aleneomsorg_innvilges() { + var fødselsdato = LocalDate.of(2024, 5, 13); + var grunnlag = basicGrunnlagFar(fødselsdato) + .rettOgOmsorg(aleneomsorg()) + .kontoer(new Kontoer.Builder().konto(FORELDREPENGER, 100)) + .søknad(søknad(FØDSEL, + oppgittPeriode(FORELDREPENGER, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1)), + utsettelsePeriode(fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(10).minusDays(1), FRI, null), + oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(15).minusDays(1)) + )); + + var perioder = fastsettPerioder(grunnlag); + + assertThat(perioder).hasSize(3); + assertThat(perioder.get(1).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); + assertThat(perioder.get(1).uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG); + } + @ParameterizedTest @EnumSource(UtsettelseÅrsak.class) void annen_parts_periode_skal_trekke_dager_selv_om_de_overlapper_med_søkers_utsettelse(UtsettelseÅrsak utsettelseÅrsak) {