Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TFP-5757: Innvilget automatisk fellesperioder eller foreldrepenger so… #346

Merged
merged 1 commit into from
Apr 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmSøknadGjelderTerminEllerFødsel;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmTilgjengeligeDagerPåNoenAktiviteteneForSøktStønadskonto;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmUttakSkjerEtterDeFørsteUkene;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmUttakStarterFørUttakForForeldrepengerFørFødsel;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.aktkrav.SjekkOmMorErIAktivitet;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.GraderingIkkeInnvilgetÅrsak;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfylt;
Expand Down Expand Up @@ -115,12 +114,12 @@ private Specification<FastsettePeriodeGrunnlag> sjekkOmMorHarRett() {
.hvis(new SjekkOmPeriodenStarterFørLovligUttakFørFødselTermin(),
IkkeOppfylt.opprett("UT1040", IkkeOppfyltÅrsak.MOR_SØKER_FELLESPERIODE_FØR_12_UKER_FØR_TERMIN_FØDSEL, false,
false))
.ellers(sjekkOmUttakStarterFørUttakForForeldrepengerFørFødsel());
.ellers(sjekkOmPeriodenStarterFørFamilieHendelse());
}

private Specification<FastsettePeriodeGrunnlag> sjekkOmUttakStarterFørUttakForForeldrepengerFørFødsel() {
return rs.hvisRegel(SjekkOmUttakStarterFørUttakForForeldrepengerFørFødsel.ID, "Starter perioden før 3 uker før termin/fødsel?")
.hvis(new SjekkOmUttakStarterFørUttakForForeldrepengerFørFødsel(), sjekkOmGraderingIPerioden())
private Specification<FastsettePeriodeGrunnlag> sjekkOmPeriodenStarterFørFamilieHendelse() {
return rs.hvisRegel(SjekkOmPeriodenStarterFørFamiliehendelse.ID, SjekkOmPeriodenStarterFørFamiliehendelse.BESKRIVELSE)
.hvis(new SjekkOmPeriodenStarterFørFamiliehendelse(), sjekkOmGraderingIPerioden())
.ellers(sjekkOmUttakSkjerEtterDeFørsteUkene());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,11 @@ private Specification<FastsettePeriodeGrunnlag> erDetAleneomsorgSjekk(FastsetteP
}

private Specification<FastsettePeriodeGrunnlag> sjekkOmPeriodenStarterFørFamilieHendelse() {
var erDetBareMorSomHarRettSjekk = erDetAleneomsorgSjekk(
Manuellbehandling.opprett("UT1197", null, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO, true, true),
Manuellbehandling.opprett("UT1192", null, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO, true, true));
var sjekkErDetAleneomsorg = erDetAleneomsorgSjekk(
Oppfylt.opprett("UT1197", InnvilgetÅrsak.FORELDREPENGER_ALENEOMSORG, true, true),
Oppfylt.opprett("UT1192", InnvilgetÅrsak.FORELDREPENGER_KUN_MOR_HAR_RETT, true, true));
return rs.hvisRegel(SjekkOmPeriodenStarterFørFamiliehendelse.ID, "Starter perioden før termin/fødsel?")
.hvis(new SjekkOmPeriodenStarterFørFamiliehendelse(), erDetBareMorSomHarRettSjekk)
.hvis(new SjekkOmPeriodenStarterFørFamiliehendelse(), sjekkErDetAleneomsorg)
.ellers(sjekkErPeriodenInnenforUkerReservertMor());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ class FellesperiodeDelregelTest {
}

@Test
void fellesperiode_mor_uttak_starter_ved_3_uker_før_fødsel_slutter_før_7_uker_blir_avslått() {
var søknadsperiode = oppgittPeriode(fødselsdato.minusWeeks(3), fødselsdato.plusWeeks(3), null, false);
void fellesperiode_mor_uttak_starter_etter_fødsel_og_som_slutter_før_7_uker_blir_avslått() {
var søknadsperiode = oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(3), null, false);
var kontoer = enFellesperiodeKonto(13 * 5);
var grunnlag = basicGrunnlagMor().søknad(søknad(søknadsperiode))
.arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1)))
Expand All @@ -70,7 +70,7 @@ class FellesperiodeDelregelTest {
}

@Test
void fellesperiode_mor_uttak_starter_ved_3_uker_før_fødsel_slutter_før_fødsel_blir_avslått() {
void fellesperiode_mor_uttak_starter_ved_3_uker_før_fødsel_slutter_før_fødsel_blir_innvilget() {
var søknadsperiode = oppgittPeriode(fødselsdato.minusWeeks(3), fødselsdato.minusWeeks(1), null, false);
var kontoer = enFellesperiodeKonto(13 * 5);
var grunnlag = basicGrunnlagMor().søknad(søknad(søknadsperiode))
Expand All @@ -80,7 +80,7 @@ class FellesperiodeDelregelTest {

var regelresultat = kjørRegel(søknadsperiode, grunnlag);

assertThat(regelresultat.oppfylt()).isFalse();
assertThat(regelresultat.oppfylt()).isTrue();
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet
}

@Test
void fellesperiode_mor_uttak_starter_ved_12_uker_og_slutter_etter_3_uker_før_fødsel_blir_innvilget_med_knekk_ved_3_uker_resten_blir_manuell_behandling() {
void fellesperiode_mor_uttak_starter_ved_12_uker_og_slutter_etter_3_uker_før_fødsel_og_blir_innvilget() {
var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER_FØR_FØDSEL).trekkdager(3 * 5))
.konto(new Konto.Builder().type(MØDREKVOTE).trekkdager(15 * 5))
.konto(new Konto.Builder().type(FELLESPERIODE).trekkdager(16 * 5));
Expand All @@ -115,8 +115,8 @@ void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet
assertThat(resultater).hasSize(4);
verifiserPeriode(resultater.get(0).uttakPeriode(), fødselsdato.minusWeeks(12), fødselsdato.minusWeeks(3).minusDays(1),
Perioderesultattype.INNVILGET, FELLESPERIODE);
verifiserManuellBehandlingPeriode(resultater.get(1).uttakPeriode(), fødselsdato.minusWeeks(3),
fødselsdato.minusWeeks(1).minusDays(1), FELLESPERIODE, null, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO);
verifiserPeriode(resultater.get(1).uttakPeriode(), fødselsdato.minusWeeks(3), fødselsdato.minusWeeks(1).minusDays(1),
Perioderesultattype.INNVILGET, FELLESPERIODE);
verifiserPeriode(resultater.get(2).uttakPeriode(), fødselsdato.minusWeeks(1), fødselsdato.minusDays(1),
Perioderesultattype.INNVILGET, FORELDREPENGER_FØR_FØDSEL);
verifiserPeriode(resultater.get(3).uttakPeriode(), fødselsdato, fødselsdato.plusWeeks(6).minusDays(1),
Expand Down Expand Up @@ -159,8 +159,8 @@ void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet
Perioderesultattype.AVSLÅTT, Stønadskontotype.FELLESPERIODE);
verifiserPeriode(resultater.get(1).uttakPeriode(), fødselsdato.minusWeeks(12), fødselsdato.minusWeeks(3).minusDays(1),
Perioderesultattype.INNVILGET, Stønadskontotype.FELLESPERIODE);
verifiserManuellBehandlingPeriode(resultater.get(2).uttakPeriode(), fødselsdato.minusWeeks(3), fødselsdato.minusDays(1),
FELLESPERIODE, null, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO);
verifiserPeriode(resultater.get(2).uttakPeriode(), fødselsdato.minusWeeks(3), fødselsdato.minusDays(1),
Perioderesultattype.INNVILGET, Stønadskontotype.FELLESPERIODE);
verifiserManuellBehandlingPeriode(resultater.get(3).uttakPeriode(), fødselsdato, fødselsdato, FELLESPERIODE, null,
Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO);
verifiserAvslåttPeriode(resultater.get(4).uttakPeriode(), fødselsdato.plusDays(1), fødselsdato.plusWeeks(6).minusDays(3),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ void mor_utenAleneomsorg_ikkeBareMorRett() {

var regelresultat = kjørRegel(oppgittPeriode, grunnlag);

assertManuellBehandling(regelresultat, null, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO, true, true);
assertInnvilget(regelresultat, InnvilgetÅrsak.FORELDREPENGER_KUN_MOR_HAR_RETT, "UT1192");
}

@Test
Expand All @@ -306,7 +306,7 @@ void mor_utenAleneomsorg_ikkeBareMorRett() {

var regelresultat = kjørRegel(oppgittPeriode, grunnlag);

assertManuellBehandling(regelresultat, null, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO, true, true);
assertInnvilget(regelresultat, InnvilgetÅrsak.FORELDREPENGER_ALENEOMSORG, "UT1197");
}

private void assertManuellBehandling(FastsettePerioderRegelresultat regelresultat,
Expand Down