Skip to content

Commit

Permalink
FAGSYSTEM-368858 innvilger fedre utsettelser første 6 ukene (#391)
Browse files Browse the repository at this point in the history
  • Loading branch information
palfi authored Feb 14, 2025
1 parent 12d8a36 commit 0ed7a72
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,11 @@ private Specification<FastsettePeriodeGrunnlag> sjekkOmMorErIAktivitet() {
}

private Specification<FastsettePeriodeGrunnlag> sjekkOmTidsperiodeForbeholdtMor() {
var erMor = rs.hvisRegel(SjekkOmSøkerErMor.ID, SjekkOmSøkerErMor.BESKRIVELSE)
.hvis(new SjekkOmSøkerErMor(), sjekkOmSykdomSkade())
.ellers(sjekkOmFarHarDagerRundtFødsel());
return rs.hvisRegel(SjekkOmTidsperiodeForbeholdtMor.ID, SjekkOmTidsperiodeForbeholdtMor.BESKRIVELSE)
.hvis(new SjekkOmTidsperiodeForbeholdtMor(), sjekkOmSykdomSkade())
.hvis(new SjekkOmTidsperiodeForbeholdtMor(), erMor)
.ellers(sjekkOmAleneomsorg());
}

Expand Down Expand Up @@ -107,18 +110,12 @@ private Specification<FastsettePeriodeGrunnlag> sjekkOmUtsettelsePgaBarnInnlagt(

return rs.hvisRegel(SjekkOmUtsettelsePgaBarnetsInnleggelse.ID, SjekkOmUtsettelsePgaBarnetsInnleggelse.BESKRIVELSE)
.hvis(new SjekkOmUtsettelsePgaBarnetsInnleggelse(), varBarnetInnlagtSjekk)
.ellers(sjekkOmSøkerErMor());
}

private Specification<FastsettePeriodeGrunnlag> sjekkOmSøkerErMor() {
return rs.hvisRegel(SjekkOmSøkerErMor.ID, SjekkOmSøkerErMor.BESKRIVELSE)
.hvis(new SjekkOmSøkerErMor(), manuellUT1357())
.ellers(sjekkOmFarHarDagerRundtFødsel());
.ellers(sjekkOmFriUtsettelse());
}

private Specification<FastsettePeriodeGrunnlag> sjekkOmFarHarDagerRundtFødsel() {
return rs.hvisRegel(SjekkOmFarHarDagerRundtFødsel.ID, SjekkOmFarHarDagerRundtFødsel.BESKRIVELSE)
.hvis(new SjekkOmFarHarDagerRundtFødsel(), sjekkOmFriUtsettelse())
.hvis(new SjekkOmFarHarDagerRundtFødsel(), innvilgUT1351())
.ellers(manuellUT1357());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,8 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() {
@Test
void fri_utsettelse_første_6_ukene_skal_gå_til_manuell_pre_wlb() {
var fødselsdato = LocalDate.of(2022, 6, 28);
var grunnlag = basicGrunnlagFar(fødselsdato).kontoer(defaultKontoer())
var grunnlag = basicGrunnlagFar(fødselsdato)
.kontoer(defaultKontoer().farUttakRundtFødselDager(0))
.søknad(søknad(FØDSEL, utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), FRI, null),
oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(2).minusDays(1), false, SamtidigUttaksprosent.HUNDRED)));

Expand Down Expand Up @@ -770,6 +771,52 @@ void fri_utsettelse_etter_uke_6_far_aleneomsorg_innvilges() {
assertThat(resultat.get(1).uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IKKE_STØNADSDAGER_IGJEN);
}

@Test
void utsettelse_bfhr_første_6_ukene_innvilges_selv_om_ikke_dokumentert() {
var fødselsdato = LocalDate.of(2022, 6, 28);
var grunnlag = basicGrunnlagFar(fødselsdato).rettOgOmsorg(bareFarRett())
.kontoer(new Kontoer.Builder().konto(FORELDREPENGER, 100).minsterettDager(40).farUttakRundtFødselDager(10))
.søknad(søknad(FØDSEL,
utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), INNLAGT_BARN, null),
utsettelsePeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(2).minusDays(1), SYKDOM_SKADE, null),
utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), INNLAGT_SØKER, null),
oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1))));

var perioder = fastsettPerioder(grunnlag);

assertThat(perioder.getFirst().uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET);
assertThat(perioder.getFirst().uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG);

assertThat(perioder.get(1).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET);
assertThat(perioder.get(1).uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG);

assertThat(perioder.get(2).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET);
assertThat(perioder.get(2).uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG);
}

@Test
void utsettelse_far_begge_rett_første_6_ukene_innvilges_selv_om_ikke_dokumentert() {
var fødselsdato = LocalDate.of(2022, 6, 28);
var grunnlag = basicGrunnlagFar(fødselsdato).rettOgOmsorg(beggeRett())
.kontoer(defaultKontoer().farUttakRundtFødselDager(10))
.søknad(søknad(FØDSEL,
utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), INNLAGT_BARN, null),
utsettelsePeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(2).minusDays(1), SYKDOM_SKADE, null),
utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), INNLAGT_SØKER, null),
oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1))));

var perioder = fastsettPerioder(grunnlag);

assertThat(perioder.getFirst().uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET);
assertThat(perioder.getFirst().uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG);

assertThat(perioder.get(1).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET);
assertThat(perioder.get(1).uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG);

assertThat(perioder.get(2).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET);
assertThat(perioder.get(2).uttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(UTSETTELSE_GYLDIG);
}

private Datoer.Builder datoer(LocalDate fødselsdato) {
return new Datoer.Builder().fødsel(fødselsdato);
}
Expand Down

0 comments on commit 0ed7a72

Please sign in to comment.