diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java index 255a593e..2e190fd3 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java @@ -31,14 +31,6 @@ public interface FastsettePeriodeGrunnlag { */ Arbeid getArbeid(); - /** - * Finn perioder der søker har gyldig grunn for tidlig oppstart eller utsettelse. - * - * @return Array av aktuelle perioder med gyldig grunn, sortert på fom dato. Returnerer tom list om det ikke finnes en aktuell periode eller om det ikke finnes overlappende - * perioder med gyldig grunn. - */ - List getAktuelleGyldigeGrunnPerioder(); - /** * Finn søknadstype. * @@ -67,13 +59,6 @@ public interface FastsettePeriodeGrunnlag { */ boolean isSamtykke(); - /** - * Finn alle perioder med gyldig grunn for tidlig oppstart - * - * @return list av perioder med gyldig grunn for tidlig oppstart - */ - List getGyldigGrunnPerioder(); - /** * Finn alle perioder der søker ikke har omsorg for barnet/barna det søkes om * @@ -81,64 +66,7 @@ public interface FastsettePeriodeGrunnlag { */ List getPerioderUtenOmsorg(); - /** - * Finn alle perioder der søker har bekreftet sykdom eller skade. - * - * @return list av perioder der søker har bekreftet sykdom eller skade. - */ - List getPerioderMedSykdomEllerSkade(); - - /** - * Finn alle perioder der søker har bekreftet innleggelse. - * - * @return list av perioder der søker har bekreftet innleggelse. - */ - List getPerioderMedInnleggelse(); - - /** - * Finn alle perioder der det er avklart mors aktivitet - * Mor kan enten være i aktivitet i perioden eller ikke - * - * @return list av perioder. - */ - List getPerioderMedAvklartMorsAktivitet(); - - /** - * Finn alle perioder der søkers barn er innlagt på helseinstitusjon. - * - * @return list av perioder der søkers barn er innlagt på helseinstitusjon. - */ - List getPerioderMedBarnInnlagt(); - - /** - * Finn alle perioder der søkers annen forelder er innlagt på helseinstitusjon. - * - * @return list av perioder der søkers annen forelder er innlagt på helseinstitusjon. - */ - List getPerioderMedAnnenForelderInnlagt(); - - /** - * Finn alle perioder der søkers annen forelder har bekreftet sykdom eller skade. - * - * @return list av perioder der søkers annen forelder har bekreftet sykdom eller skade. - */ - List getPerioderMedAnnenForelderSykdomEllerSkade(); - - List getPerioderMedTiltakIRegiAvNav(); - - /** - * Finn alle perioder der søkers annen forelder har bekreftet ikke rett. - * - * @return list av perioder der søkers annen forelder har bekreftet ikke rett. - */ - List getPerioderMedAnnenForelderIkkeRett(); - - /** - * Finn alle perioder der søkers annen forelder har bekreftet ikke omsorg. - * - * @return list av perioder der søkers annen forelder har bekreftet ikke omsorg. - */ - List getPerioderMedAleneomsorg(); + List getPleiepengerInnleggelse(); /** * Har far/medmor rett til foreldrepenger. @@ -255,8 +183,6 @@ public interface FastsettePeriodeGrunnlag { */ LocalDate getTermindato(); - List getPerioderHV(); - boolean isBerørtBehandling(); LocalDateTime getSisteSøknadMottattTidspunkt(); diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java index 11efa6dc..9309bf94 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java @@ -2,30 +2,18 @@ import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Comparator; import java.util.List; -import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Adopsjon; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenPart; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedBarnInnlagt; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedHV; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedInnleggelse; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedSykdomEllerSkade; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedTiltakIRegiAvNav; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Spesialkontotype; @@ -35,7 +23,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.ytelser.PleiepengerPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.saldo.SaldoUtregning; import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.Periode; public class FastsettePeriodeGrunnlagImpl implements FastsettePeriodeGrunnlag { @@ -60,89 +47,18 @@ public OppgittPeriode getAktuellPeriode() { return aktuellPeriode; } - @Override - public List getAktuelleGyldigeGrunnPerioder() { - var dokumentasjon = regelGrunnlag.getSøknad().getDokumentasjon(); - if (dokumentasjon == null) { - return Collections.emptyList(); - } - return dokumentasjon.getGyldigGrunnPerioder() - .stream() - .filter(p -> p.overlapper(aktuellPeriode)) - .sorted(Comparator.comparing(Periode::getFom)) - .collect(Collectors.toList()); - } - @Override public Arbeid getArbeid() { return regelGrunnlag.getArbeid(); } @Override - public List getPerioderMedSykdomEllerSkade() { - return regelGrunnlag.getSøknad().getDokumentasjon().getPerioderMedSykdomEllerSkade(); - } - - @Override - public List getPerioderMedInnleggelse() { - return regelGrunnlag.getSøknad().getDokumentasjon().getPerioderMedInnleggelse(); - } - - @Override - public List getPerioderMedAvklartMorsAktivitet() { - return regelGrunnlag.getSøknad().getDokumentasjon().getPerioderMedAvklartMorsAktivitet(); - } - - @Override - public List getPerioderMedBarnInnlagt() { - var fraDok = regelGrunnlag.getSøknad().getDokumentasjon().getPerioderMedBarnInnlagt(); - var felles = new ArrayList<>(fraDok); - var fraYtelser = regelGrunnlag.getYtelser().pleiepenger() + public List getPleiepengerInnleggelse() { + return regelGrunnlag.getYtelser().pleiepenger() .map(pleiepengerMedInnleggelse -> pleiepengerMedInnleggelse.innleggelser()) .orElse(List.of()) .stream() - .map(p -> new PeriodeMedBarnInnlagt(p.getFom(), p.getTom())) .toList(); - felles.addAll(fraYtelser); - return felles; - } - - @Override - public List getPerioderMedAnnenForelderInnlagt() { - return getPerioderMedOverføringÅrsak(OverføringÅrsak.INNLEGGELSE); - } - - @Override - public List getPerioderMedAnnenForelderSykdomEllerSkade() { - return getPerioderMedOverføringÅrsak(OverføringÅrsak.SYKDOM_ELLER_SKADE); - } - - @Override - public List getPerioderHV() { - return regelGrunnlag.getSøknad().getDokumentasjon().getPerioderMedHv(); - } - - @Override - public List getPerioderMedTiltakIRegiAvNav() { - return regelGrunnlag.getSøknad().getDokumentasjon().getPerioderMedTiltakViaNav(); - } - - @Override - public List getPerioderMedAnnenForelderIkkeRett() { - return getPerioderMedOverføringÅrsak(OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT); - } - - @Override - public List getPerioderMedAleneomsorg() { - return getPerioderMedOverføringÅrsak(OverføringÅrsak.ALENEOMSORG); - } - - private List getPerioderMedOverføringÅrsak(OverføringÅrsak årsak) { - return regelGrunnlag.getSøknad() - .getOppgittePerioder() - .stream() - .filter(periode -> Objects.equals(periode.getOverføringÅrsak(), årsak)) - .collect(Collectors.toList()); } @Override @@ -200,11 +116,6 @@ public boolean isSakMedDagerUtenAktivitetskrav() { return regelGrunnlag.getKontoer().harSpesialkonto(Spesialkontotype.TETTE_FØDSLER) && regelGrunnlag.getKontoer().getSpesialkontoTrekkdager(Spesialkontotype.TETTE_FØDSLER) > 0; } - @Override - public List getGyldigGrunnPerioder() { - return regelGrunnlag.getSøknad().getDokumentasjon().getGyldigGrunnPerioder(); - } - @Override public List getPerioderUtenOmsorg() { var dokumentasjon = regelGrunnlag.getSøknad().getDokumentasjon(); diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregel.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregel.java index 11937fef..b8a40b45 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregel.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregel.java @@ -156,7 +156,7 @@ private Specification sjekkOmMorHarRett() { private Specification sjekkOmMorSøktOmOverføringAvFedrekvote() { return rs.hvisRegel(SjekkOmSøktOmOverføringAvKvote.ID, "Har mor søkt om overføring av fedrekvoten?") - .hvis(new SjekkOmSøktOmOverføringAvKvote(), sjekkOmOverføringPgaInnleggelse()) // SKRIVE OM + .hvis(new SjekkOmSøktOmOverføringAvKvote(), sjekkOmOverføringPgaInnleggelse()) .ellers(Manuellbehandling.opprett("UT1032", IkkeOppfyltÅrsak.DEN_ANDRE_PART_SYK_SKADET_IKKE_OPPFYLT, Manuellbehandlingårsak.UGYLDIG_STØNADSKONTO, true, false)); } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java index fd070103..569847d0 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java @@ -166,14 +166,7 @@ private static List perioderMedFerie(RegelGrunnlag grunnlag) { private static void knekkBasertPåDokumentasjon(RegelGrunnlag grunnlag, Set knekkpunkter) { var dokumentasjon = grunnlag.getSøknad().getDokumentasjon(); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getGyldigGrunnPerioder()); leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderUtenOmsorg()); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderMedSykdomEllerSkade()); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderMedInnleggelse()); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderMedBarnInnlagt()); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderMedHv()); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderMedTiltakViaNav()); - leggTilKnekkpunkter(knekkpunkter, dokumentasjon.getPerioderMedAvklartMorsAktivitet()); } private static LocalDate finnMaksgrenseForLovligUttak(RegelGrunnlag grunnlag) { diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkGyldigGrunnForTidligOppstartHelePerioden.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkGyldigGrunnForTidligOppstartHelePerioden.java index 186bfdaf..7bd63008 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkGyldigGrunnForTidligOppstartHelePerioden.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkGyldigGrunnForTidligOppstartHelePerioden.java @@ -1,12 +1,6 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; -import java.util.List; -import java.util.Set; - import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; import no.nav.fpsak.nare.specification.LeafSpecification; @@ -23,22 +17,6 @@ public SjekkGyldigGrunnForTidligOppstartHelePerioden() { @Override public Evaluation evaluate(FastsettePeriodeGrunnlag grunnlag) { var aktuellPeriode = grunnlag.getAktuellPeriode(); - if (harGyldigGrunn(aktuellPeriode, grunnlag.getGyldigGrunnPerioder())) { - return ja(); - } - //Brukes bare for tidlig oppstart for far - if (!grunnlag.isSøkerMor() && Set.of(PeriodeVurderingType.PERIODE_OK, PeriodeVurderingType.ENDRE_PERIODE).contains(aktuellPeriode.getPeriodeVurderingType())) { - return ja(); - } - return nei(); - } - - private boolean harGyldigGrunn(OppgittPeriode oppgittPeriode, List gyldigGrunnPerioder) { - for (var gyldigGrunnPeriode : gyldigGrunnPerioder) { - if (oppgittPeriode.erOmsluttetAv(gyldigGrunnPeriode)) { - return true; - } - } - return false; + return aktuellPeriode.getDokumentasjonVurdering() != null && aktuellPeriode.getDokumentasjonVurdering().erGyldigGrunnForTidligOppstart() ? ja() : nei(); } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBarnInnlagt.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBarnInnlagt.java index d7938a8d..adf5fd2c 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBarnInnlagt.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBarnInnlagt.java @@ -1,5 +1,7 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_BARN_DOKUMENTERT; + import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; @@ -17,11 +19,14 @@ public SjekkOmBarnInnlagt() { @Override public Evaluation evaluate(FastsettePeriodeGrunnlag grunnlag) { var oppgittPeriode = grunnlag.getAktuellPeriode(); - for (var periodeMedBarnInnlagt : grunnlag.getPerioderMedBarnInnlagt()) { + for (var periodeMedBarnInnlagt : grunnlag.getPleiepengerInnleggelse()) { if (oppgittPeriode.erOmsluttetAv(periodeMedBarnInnlagt)) { return ja(); } } + if (INNLEGGELSE_BARN_DOKUMENTERT.equals(oppgittPeriode.getDokumentasjonVurdering())) { + return ja(); + } return nei(); } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDelerAvPeriodenHarGyldigGrunn.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDelerAvPeriodenHarGyldigGrunn.java deleted file mode 100644 index 1ab10217..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDelerAvPeriodenHarGyldigGrunn.java +++ /dev/null @@ -1,24 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; - -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.fpsak.nare.doc.RuleDocumentation; -import no.nav.fpsak.nare.evaluation.Evaluation; -import no.nav.fpsak.nare.specification.LeafSpecification; - -@RuleDocumentation(SjekkOmDelerAvPeriodenHarGyldigGrunn.ID) -public class SjekkOmDelerAvPeriodenHarGyldigGrunn extends LeafSpecification { - - public static final String ID = "FP_VK 18.X"; - - public SjekkOmDelerAvPeriodenHarGyldigGrunn() { - super(ID); - } - - @Override - public Evaluation evaluate(FastsettePeriodeGrunnlag fastsettePeriodeGrunnlag) { - if (fastsettePeriodeGrunnlag.getAktuelleGyldigeGrunnPerioder().isEmpty()) { - return nei(); - } - return ja(); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertHV.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertHV.java index fc0d0303..96b3196d 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertHV.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertHV.java @@ -1,5 +1,7 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.HV_OVELSE_DOKUMENTERT; + import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; @@ -16,12 +18,6 @@ public SjekkOmDokumentertHV() { @Override public Evaluation evaluate(FastsettePeriodeGrunnlag grunnlag) { - var oppgittPeriode = grunnlag.getAktuellPeriode(); - for (var periodeMedHv : grunnlag.getPerioderHV()) { - if (oppgittPeriode.erOmsluttetAv(periodeMedHv)) { - return ja(); - } - } - return nei(); + return HV_OVELSE_DOKUMENTERT.equals(grunnlag.getAktuellPeriode().getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertTiltakViaNav.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertTiltakViaNav.java index 9cdfb78b..ecca43ad 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertTiltakViaNav.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDokumentertTiltakViaNav.java @@ -1,5 +1,7 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.NAV_TILTAK_DOKUMENTERT; + import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; @@ -16,12 +18,6 @@ public SjekkOmDokumentertTiltakViaNav() { @Override public Evaluation evaluate(FastsettePeriodeGrunnlag grunnlag) { - var oppgittPeriode = grunnlag.getAktuellPeriode(); - for (var periodeMedTiltakIRegiAvNav : grunnlag.getPerioderMedTiltakIRegiAvNav()) { - if (oppgittPeriode.erOmsluttetAv(periodeMedTiltakIRegiAvNav)) { - return ja(); - } - } - return nei(); + return NAV_TILTAK_DOKUMENTERT.equals(grunnlag.getAktuellPeriode().getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmF\303\270rsteDelAvPeriodenHarGyldigGrunn.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmF\303\270rsteDelAvPeriodenHarGyldigGrunn.java" deleted file mode 100644 index 70bf7e57..00000000 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmF\303\270rsteDelAvPeriodenHarGyldigGrunn.java" +++ /dev/null @@ -1,40 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; - -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.Periode; -import no.nav.fpsak.nare.doc.RuleDocumentation; -import no.nav.fpsak.nare.evaluation.Evaluation; -import no.nav.fpsak.nare.specification.LeafSpecification; - -@RuleDocumentation(SjekkOmFørsteDelAvPeriodenHarGyldigGrunn.ID) -public class SjekkOmFørsteDelAvPeriodenHarGyldigGrunn extends LeafSpecification { - - public static final String ID = "FP_VK 13.5.3"; - - public SjekkOmFørsteDelAvPeriodenHarGyldigGrunn() { - super(ID); - } - - @Override - public Evaluation evaluate(FastsettePeriodeGrunnlag grunnlag) { - var aktuellPeriode = grunnlag.getAktuellPeriode(); - var aktuelleGyldigGrunnPeriode = grunnlag.getAktuelleGyldigeGrunnPerioder(); - - if (aktuelleGyldigGrunnPeriode.isEmpty()) { - return nei(); - } - - var periode = aktuelleGyldigGrunnPeriode.get(0); - - if (starterGyldigGrunnEtterAktuellPeriode(periode, aktuellPeriode)) { - return nei(); - } - return ja(); - - } - - - private boolean starterGyldigGrunnEtterAktuellPeriode(Periode periode1, Periode periode2) { - return periode1.getFom().isAfter(periode2.getFom()); - } -} diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaAleneomsorg.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaAleneomsorg.java" index 9c228c7c..3f4359b6 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaAleneomsorg.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaAleneomsorg.java" @@ -1,10 +1,9 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; -import java.util.List; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.ER_ALENEOMSORG; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.ALENEOMSORG; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; import no.nav.fpsak.nare.specification.LeafSpecification; @@ -21,21 +20,6 @@ public class SjekkOmGyldigOverføringPgaAleneomsorg extends LeafSpecification gyldigGrunnPerioder) { - for (var gyldigGrunnPeriode : gyldigGrunnPerioder) { - if (oppgittPeriode.erOmsluttetAv(gyldigGrunnPeriode)) { - return true; - } - } - return false; + return ALENEOMSORG.equals(oppgittPeriode.getOverføringÅrsak()) && ER_ALENEOMSORG.equals(oppgittPeriode.getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaIkkeRett.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaIkkeRett.java" index a99fb117..ada7d354 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaIkkeRett.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaIkkeRett.java" @@ -1,10 +1,9 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; -import java.util.List; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.ER_BARE_SØKER_RETT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; import no.nav.fpsak.nare.specification.LeafSpecification; @@ -21,21 +20,6 @@ public class SjekkOmGyldigOverføringPgaIkkeRett extends LeafSpecification gyldigGrunnPerioder) { - for (var gyldigGrunnPeriode : gyldigGrunnPerioder) { - if (oppgittPeriode.erOmsluttetAv(gyldigGrunnPeriode)) { - return true; - } - } - return false; + return ANNEN_FORELDER_IKKE_RETT.equals(oppgittPeriode.getOverføringÅrsak()) && ER_BARE_SØKER_RETT.equals(oppgittPeriode.getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaInnleggelse.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaInnleggelse.java" index 9b0422f5..8124ab64 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaInnleggelse.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaInnleggelse.java" @@ -1,10 +1,8 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; -import java.util.List; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; import no.nav.fpsak.nare.specification.LeafSpecification; @@ -20,22 +18,6 @@ public class SjekkOmGyldigOverføringPgaInnleggelse extends LeafSpecification gyldigGrunnPerioder) { - for (var gyldigGrunnPeriode : gyldigGrunnPerioder) { - if (oppgittPeriode.erOmsluttetAv(gyldigGrunnPeriode)) { - return true; - } - } - return false; + return INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT.equals(grunnlag.getAktuellPeriode().getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaSykdomSkade.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaSykdomSkade.java" index 967cf356..ade62e33 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaSykdomSkade.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigOverf\303\270ringPgaSykdomSkade.java" @@ -1,10 +1,8 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; -import java.util.List; - import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; import no.nav.fpsak.nare.doc.RuleDocumentation; import no.nav.fpsak.nare.evaluation.Evaluation; import no.nav.fpsak.nare.specification.LeafSpecification; @@ -21,21 +19,7 @@ public class SjekkOmGyldigOverføringPgaSykdomSkade extends LeafSpecification gyldigGrunnPerioder) { - for (var gyldigGrunnPeriode : gyldigGrunnPerioder) { - if (oppgittPeriode.erOmsluttetAv(gyldigGrunnPeriode)) { - return true; - } - } - return false; + return OverføringÅrsak.SYKDOM_ELLER_SKADE.equals(oppgittPeriode.getOverføringÅrsak()) + && DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT.equals(oppgittPeriode.getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigUtsettelseM\303\270drekvoteHelePerioden.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigUtsettelseM\303\270drekvoteHelePerioden.java" deleted file mode 100644 index 2b2672d8..00000000 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigUtsettelseM\303\270drekvoteHelePerioden.java" +++ /dev/null @@ -1,34 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; - -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; -import no.nav.fpsak.nare.doc.RuleDocumentation; -import no.nav.fpsak.nare.evaluation.Evaluation; -import no.nav.fpsak.nare.specification.LeafSpecification; - -@RuleDocumentation(SjekkOmGyldigUtsettelseMødrekvoteHelePerioden.ID) -public class SjekkOmGyldigUtsettelseMødrekvoteHelePerioden extends LeafSpecification { - - public static final String ID = "FP_VK 18.3.1"; - - public SjekkOmGyldigUtsettelseMødrekvoteHelePerioden() { - super(ID); - } - - @Override - public Evaluation evaluate(FastsettePeriodeGrunnlag fastsettePeriodeGrunnlag) { - var gyldigePerioder = fastsettePeriodeGrunnlag.getAktuelleGyldigeGrunnPerioder(); - - var aktuellPeriode = fastsettePeriodeGrunnlag.getAktuellPeriode(); - var dato = aktuellPeriode.getFom(); - for (var periode : gyldigePerioder) { - if (periode.overlapper(dato)) { - dato = periode.getTom().plusDays(1); - } - if (aktuellPeriode.getTom().isBefore(dato)) { - return ja(); - } - } - return nei(); - } - -} diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmOverf\303\270ringPgaAleneomsorg.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmOverf\303\270ringPgaAleneomsorg.java" index 2041c0c8..9193a0ea 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmOverf\303\270ringPgaAleneomsorg.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmOverf\303\270ringPgaAleneomsorg.java" @@ -18,9 +18,6 @@ public class SjekkOmOverføringPgaAleneomsorg extends LeafSpecification periodeMedAktivitet(FastsettePeriodeGrunnlag grunnlag) { - return grunnlag.getPerioderMedAvklartMorsAktivitet() - .stream() - .filter(periodeMedAvklartAktivitet -> grunnlag.getAktuellPeriode().erOmsluttetAv(periodeMedAvklartAktivitet)) - .findFirst(); + return MORS_AKTIVITET_DOKUMENTERT_AKTIVITET.equals(grunnlag.getAktuellPeriode().getDokumentasjonVurdering()) ? ja() : nei(); } } diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmMorOppgittUf\303\270re.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmMorOppgittUf\303\270re.java" index a346896f..13ffc335 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmMorOppgittUf\303\270re.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmMorOppgittUf\303\270re.java" @@ -1,6 +1,6 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.aktkrav; -import java.util.Objects; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.aktkrav.SjekkOmMorArbeid.sjekk; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; @@ -26,7 +26,6 @@ public Evaluation evaluate(FastsettePeriodeGrunnlag fastsettePeriodeGrunnlag) { if (fastsettePeriodeGrunnlag.isMorOppgittUføretrygd()) { return ja(); } - var morsAktivitetIPeriode = fastsettePeriodeGrunnlag.getAktuellPeriode().getMorsAktivitet(); - return Objects.equals(morsAktivitetIPeriode, MorsAktivitet.UFØRE) ? ja() : nei(); + return sjekk(fastsettePeriodeGrunnlag, MorsAktivitet.UFØRE) ? ja() : nei(); } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Dokumentasjon.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Dokumentasjon.java index 5afd035a..cd7cb851 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Dokumentasjon.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Dokumentasjon.java @@ -4,94 +4,25 @@ import java.util.List; public class Dokumentasjon { - private final List gyldigGrunnPerioder = new ArrayList<>(); private final List perioderUtenOmsorg = new ArrayList<>(); - private final List perioderMedSykdomEllerSkade = new ArrayList<>(); - private final List perioderMedInnleggelse = new ArrayList<>(); - private final List perioderMedBarnInnlagt = new ArrayList<>(); - private final List perioderMedHv = new ArrayList<>(); - private final List perioderMedTiltakViaNav = new ArrayList<>(); - private final List perioderMedAvklartMorsAktivitet = new ArrayList<>(); private Dokumentasjon() { } - public List getGyldigGrunnPerioder() { - return gyldigGrunnPerioder; - } - public List getPerioderUtenOmsorg() { return perioderUtenOmsorg; } - public List getPerioderMedSykdomEllerSkade() { - return perioderMedSykdomEllerSkade; - } - - public List getPerioderMedInnleggelse() { - return perioderMedInnleggelse; - } - - public List getPerioderMedBarnInnlagt() { - return perioderMedBarnInnlagt; - } - - public List getPerioderMedHv() { - return perioderMedHv; - } - - public List getPerioderMedTiltakViaNav() { - return perioderMedTiltakViaNav; - } - - public List getPerioderMedAvklartMorsAktivitet() { - return perioderMedAvklartMorsAktivitet; - } - public static class Builder { private final Dokumentasjon kladd = new Dokumentasjon(); - public Builder gyldigGrunnPeriode(GyldigGrunnPeriode gyldigGrunnPeriode) { - kladd.gyldigGrunnPerioder.add(gyldigGrunnPeriode); - return this; - } - public Builder periodeUtenOmsorg(PeriodeUtenOmsorg periodeUtenOmsorg) { kladd.perioderUtenOmsorg.add(periodeUtenOmsorg); return this; } - public Builder periodeMedSykdomEllerSkade(PeriodeMedSykdomEllerSkade periodeMedSykdomEllerSkade) { - kladd.perioderMedSykdomEllerSkade.add(periodeMedSykdomEllerSkade); - return this; - } - - public Builder periodeMedInnleggelse(PeriodeMedInnleggelse periodeMedInnleggelse) { - kladd.perioderMedInnleggelse.add(periodeMedInnleggelse); - return this; - } - - public Builder periodeMedBarnInnlagt(PeriodeMedBarnInnlagt periodeMedBarnInnlagt) { - kladd.perioderMedBarnInnlagt.add(periodeMedBarnInnlagt); - return this; - } - - public Builder periodeMedHV(PeriodeMedHV periodeMedHV) { - kladd.perioderMedHv.add(periodeMedHV); - return this; - } - - public Builder periodeMedTiltakViaNav(PeriodeMedTiltakIRegiAvNav periodeMedTiltakIRegiAvNav) { - kladd.perioderMedTiltakViaNav.add(periodeMedTiltakIRegiAvNav); - return this; - } - public Builder periodeMedAvklartMorsAktivitet(PeriodeMedAvklartMorsAktivitet periodeMedAvklartMorsAktivitet) { - kladd.perioderMedAvklartMorsAktivitet.add(periodeMedAvklartMorsAktivitet); - return this; - } - public Dokumentasjon build() { return kladd; } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/DokumentasjonVurdering.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/DokumentasjonVurdering.java new file mode 100644 index 00000000..3733e20c --- /dev/null +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/DokumentasjonVurdering.java @@ -0,0 +1,26 @@ +package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; + +import java.util.Set; + +public enum DokumentasjonVurdering { + SYKDOM_SØKER_DOKUMENTERT, + SYKDOM_ANNEN_FORELDER_DOKUMENTERT, + INNLEGGELSE_SØKER_DOKUMENTERT, + INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT, + INNLEGGELSE_BARN_DOKUMENTERT, + HV_OVELSE_DOKUMENTERT, + NAV_TILTAK_DOKUMENTERT, + MORS_AKTIVITET_DOKUMENTERT_AKTIVITET, + MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET, + MORS_AKTIVITET_IKKE_DOKUMENTERT, + ER_ALENEOMSORG, + ER_BARE_SØKER_RETT, + TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT + ; + + public boolean erGyldigGrunnForTidligOppstart() { + return Set.of(SYKDOM_ANNEN_FORELDER_DOKUMENTERT, + INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT, + MORS_AKTIVITET_DOKUMENTERT_AKTIVITET, ER_ALENEOMSORG, ER_BARE_SØKER_RETT, TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT).contains(this); + } +} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/GyldigGrunnPeriode.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/GyldigGrunnPeriode.java deleted file mode 100644 index 249f3258..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/GyldigGrunnPeriode.java +++ /dev/null @@ -1,12 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - - -public class GyldigGrunnPeriode extends LukketPeriode { - public GyldigGrunnPeriode(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java index 2cfda62d..44b8458d 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java @@ -15,7 +15,6 @@ public final class OppgittPeriode extends LukketPeriode { private final BigDecimal arbeidsprosent; private final Set gradertAktiviteter; private final OverføringÅrsak overføringÅrsak; - private final PeriodeVurderingType periodeVurderingType; private final boolean flerbarnsdager; private final SamtidigUttaksprosent samtidigUttaksprosent; private final UtsettelseÅrsak utsettelseÅrsak; @@ -24,6 +23,7 @@ public final class OppgittPeriode extends LukketPeriode { private final LocalDate senestMottattDato; private final LocalDate tidligstMottattDato; private final MorsAktivitet morsAktivitet; + private final DokumentasjonVurdering dokumentasjonVurdering; private Set aktiviteter = Set.of(); private OppgittPeriode(Stønadskontotype stønadskontotype, @@ -33,19 +33,18 @@ private OppgittPeriode(Stønadskontotype stønadskontotype, BigDecimal arbeidsprosent, Set gradertAktiviteter, OverføringÅrsak overføringÅrsak, - PeriodeVurderingType periodeVurderingType, SamtidigUttaksprosent samtidigUttaksprosent, boolean flerbarnsdager, UtsettelseÅrsak utsettelseÅrsak, OppholdÅrsak oppholdÅrsak, LocalDate senestMottattDato, LocalDate tidligstMottattDato, - MorsAktivitet morsAktivitet) { + MorsAktivitet morsAktivitet, + DokumentasjonVurdering dokumentasjonVurdering) { super(fom, tom); this.arbeidsprosent = arbeidsprosent; this.gradertAktiviteter = gradertAktiviteter; this.overføringÅrsak = overføringÅrsak; - this.periodeVurderingType = Objects.requireNonNull(periodeVurderingType); this.samtidigUttaksprosent = samtidigUttaksprosent; this.flerbarnsdager = flerbarnsdager; this.utsettelseÅrsak = utsettelseÅrsak; @@ -55,12 +54,13 @@ private OppgittPeriode(Stønadskontotype stønadskontotype, this.senestMottattDato = senestMottattDato; this.tidligstMottattDato = tidligstMottattDato; this.morsAktivitet = morsAktivitet; + this.dokumentasjonVurdering = dokumentasjonVurdering; } public OppgittPeriode kopiMedNyPeriode(LocalDate nyFom, LocalDate nyTom) { var kopi = new OppgittPeriode(stønadskontotype, nyFom, nyTom, manglendeSøktPeriode, arbeidsprosent, gradertAktiviteter, - overføringÅrsak, periodeVurderingType, samtidigUttaksprosent, flerbarnsdager, utsettelseÅrsak, oppholdÅrsak, - senestMottattDato, tidligstMottattDato, morsAktivitet); + overføringÅrsak, samtidigUttaksprosent, flerbarnsdager, utsettelseÅrsak, oppholdÅrsak, senestMottattDato, + tidligstMottattDato, morsAktivitet, dokumentasjonVurdering); kopi.aktiviteter = aktiviteter; return kopi; } @@ -73,10 +73,6 @@ public Optional getTidligstMottattDato() { return Optional.ofNullable(tidligstMottattDato); } - public PeriodeVurderingType getPeriodeVurderingType() { - return periodeVurderingType; - } - public Optional getSenestMottattDato() { return Optional.ofNullable(senestMottattDato); } @@ -173,9 +169,13 @@ public boolean gjelderPeriodeMinsterett() { return kanTrekkeAvMinsterett(); } + public DokumentasjonVurdering getDokumentasjonVurdering() { + return dokumentasjonVurdering; + } + public static OppgittPeriode forManglendeSøkt(Stønadskontotype type, LocalDate fom, LocalDate tom) { - return new OppgittPeriode(type, fom, tom, true, null, Set.of(), null, PeriodeVurderingType.IKKE_VURDERT, null, false, null, - null, null, null, null); + return new OppgittPeriode(type, fom, tom, true, null, Set.of(), null, null, false, null, + null, null, null, null, null); } public static OppgittPeriode forUtsettelse(LocalDate fom, @@ -183,9 +183,10 @@ public static OppgittPeriode forUtsettelse(LocalDate fom, UtsettelseÅrsak utsettelseÅrsak, LocalDate senestMottattDato, LocalDate tidligstMottattDato, - MorsAktivitet morsAktivitet) { - return new OppgittPeriode(null, fom, tom, false, null, Set.of(), null, PeriodeVurderingType.IKKE_VURDERT, null, false, utsettelseÅrsak, - null, senestMottattDato, tidligstMottattDato, morsAktivitet); + MorsAktivitet morsAktivitet, + DokumentasjonVurdering dokumentasjonVurdering) { + return new OppgittPeriode(null, fom, tom, false, null, Set.of(), null, null, false, utsettelseÅrsak, + null, senestMottattDato, tidligstMottattDato, morsAktivitet, dokumentasjonVurdering); } public static OppgittPeriode forOverføring(Stønadskontotype stønadskontotype, @@ -193,15 +194,15 @@ public static OppgittPeriode forUtsettelse(LocalDate fom, LocalDate tom, OverføringÅrsak overføringÅrsak, LocalDate senestMottattDato, - LocalDate tidligstMottattDato) { - return new OppgittPeriode(stønadskontotype, fom, tom, false, null, Set.of(), overføringÅrsak, PeriodeVurderingType.IKKE_VURDERT, null, - false, null, null, senestMottattDato, tidligstMottattDato, null); + LocalDate tidligstMottattDato, + DokumentasjonVurdering dokumentasjonVurdering) { + return new OppgittPeriode(stønadskontotype, fom, tom, false, null, Set.of(), overføringÅrsak, null, + false, null, null, senestMottattDato, tidligstMottattDato, null, dokumentasjonVurdering); } public static OppgittPeriode forOpphold(LocalDate fom, LocalDate tom, OppholdÅrsak oppholdÅrsak, LocalDate senestMottattDato, LocalDate tidligstMottattDato) { - return new OppgittPeriode(OppholdÅrsak.map(oppholdÅrsak), fom, tom, false, null, Set.of(), null, - PeriodeVurderingType.IKKE_VURDERT, null, false, null, oppholdÅrsak, senestMottattDato, tidligstMottattDato, null); + return new OppgittPeriode(OppholdÅrsak.map(oppholdÅrsak), fom, tom, false, null, Set.of(), null, null, false, null, oppholdÅrsak, senestMottattDato, tidligstMottattDato, null, null); } public static OppgittPeriode forGradering(Stønadskontotype stønadskontotype, @@ -210,26 +211,24 @@ public static OppgittPeriode forGradering(Stønadskontotype stønadskontotype, BigDecimal arbeidsprosent, SamtidigUttaksprosent samtidigUttaksprosent, boolean flerbarnsdager, - Set gradertAktiviteter, - PeriodeVurderingType vurderingType, - LocalDate senestMottattDato, + Set gradertAktiviteter, LocalDate senestMottattDato, LocalDate tidligstMottattDato, - MorsAktivitet morsAktivitet) { - return new OppgittPeriode(stønadskontotype, fom, tom, false, arbeidsprosent, gradertAktiviteter, null, vurderingType, - samtidigUttaksprosent, flerbarnsdager, null, null, senestMottattDato, tidligstMottattDato, morsAktivitet); + MorsAktivitet morsAktivitet, + DokumentasjonVurdering dokumentasjonVurdering) { + return new OppgittPeriode(stønadskontotype, fom, tom, false, arbeidsprosent, gradertAktiviteter, null, samtidigUttaksprosent, flerbarnsdager, null, null, senestMottattDato, tidligstMottattDato, morsAktivitet, + dokumentasjonVurdering); } public static OppgittPeriode forVanligPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, SamtidigUttaksprosent samtidigUttaksprosent, - boolean flerbarnsdager, - PeriodeVurderingType periodeVurderingType, - LocalDate senestMottattDato, + boolean flerbarnsdager, LocalDate senestMottattDato, LocalDate tidligstMottattDato, - MorsAktivitet morsAktivitet) { - return new OppgittPeriode(stønadskontotype, fom, tom, false, null, Set.of(), null, periodeVurderingType, samtidigUttaksprosent, - flerbarnsdager, null, null, senestMottattDato, tidligstMottattDato, morsAktivitet); + MorsAktivitet morsAktivitet, + DokumentasjonVurdering dokumentasjonVurdering) { + return new OppgittPeriode(stønadskontotype, fom, tom, false, null, Set.of(), null, samtidigUttaksprosent, + flerbarnsdager, null, null, senestMottattDato, tidligstMottattDato, morsAktivitet, dokumentasjonVurdering); } @Override @@ -241,28 +240,27 @@ public boolean equals(Object o) { var that = (OppgittPeriode) o; return flerbarnsdager == that.flerbarnsdager && manglendeSøktPeriode == that.manglendeSøktPeriode && stønadskontotype == that.stønadskontotype && Objects.equals(arbeidsprosent, that.arbeidsprosent) - && overføringÅrsak == that.overføringÅrsak && periodeVurderingType == that.periodeVurderingType && Objects.equals( + && overføringÅrsak == that.overføringÅrsak && Objects.equals( samtidigUttaksprosent, that.samtidigUttaksprosent) && utsettelseÅrsak == that.utsettelseÅrsak && oppholdÅrsak == that.oppholdÅrsak && Objects.equals(senestMottattDato, that.senestMottattDato) && Objects.equals(tidligstMottattDato, that.tidligstMottattDato) - && morsAktivitet == that.morsAktivitet; + && morsAktivitet == that.morsAktivitet + && dokumentasjonVurdering == that.dokumentasjonVurdering; } @Override public int hashCode() { - return Objects.hash(stønadskontotype, arbeidsprosent, overføringÅrsak, periodeVurderingType, flerbarnsdager, + return Objects.hash(stønadskontotype, arbeidsprosent, overføringÅrsak, flerbarnsdager, samtidigUttaksprosent, utsettelseÅrsak, oppholdÅrsak, manglendeSøktPeriode, senestMottattDato, tidligstMottattDato, - morsAktivitet); + morsAktivitet, dokumentasjonVurdering); } @Override public String toString() { - return "OppgittPeriode{" + "stønadskontotype=" + stønadskontotype + ", fom=" + getFom() + ", tom=" + getTom() - + ", arbeidsprosent=" + arbeidsprosent + ", gradertAktiviteter=" + gradertAktiviteter + ", overføringÅrsak=" - + overføringÅrsak + ", periodeVurderingType=" + periodeVurderingType + ", manglendeSøktPeriode=" + manglendeSøktPeriode - + ", flerbarnsdager=" + flerbarnsdager + ", samtidigUttak=" + samtidigUttaksprosent + ", utsettelseÅrsak=" - + utsettelseÅrsak + ", oppholdÅrsak=" + oppholdÅrsak + ", senestMottattDato=" + senestMottattDato - + ", tidligstMottattDato=" + tidligstMottattDato + ", aktiviteter=" + aktiviteter - + '}'; + return "OppgittPeriode{" + "stønadskontotype=" + stønadskontotype + ", fom=" + getFom() + ", tom=" + getTom() + ", arbeidsprosent=" + arbeidsprosent + + ", gradertAktiviteter=" + gradertAktiviteter + ", overføringÅrsak=" + overføringÅrsak + + ", manglendeSøktPeriode=" + manglendeSøktPeriode + ", flerbarnsdager=" + flerbarnsdager + ", samtidigUttak=" + samtidigUttaksprosent + + ", utsettelseÅrsak=" + utsettelseÅrsak + ", oppholdÅrsak=" + oppholdÅrsak + ", senestMottattDato=" + senestMottattDato + ", tidligstMottattDato=" + + tidligstMottattDato + ", aktiviteter=" + aktiviteter + ", dokumentasjonVurdering=" + dokumentasjonVurdering + '}'; } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedAleneomsorg.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedAleneomsorg.java deleted file mode 100644 index 1d579ba0..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedAleneomsorg.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.Periode; - -public class PeriodeMedAleneomsorg extends Periode { - public PeriodeMedAleneomsorg(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedAvklartMorsAktivitet.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedAvklartMorsAktivitet.java deleted file mode 100644 index 4838e1dd..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedAvklartMorsAktivitet.java +++ /dev/null @@ -1,50 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.IKKE_I_AKTIVITET_IKKE_DOKUMENTERT; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; - -import java.time.LocalDate; -import java.util.Objects; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedAvklartMorsAktivitet extends LukketPeriode { - - private final Resultat resultat; - - public PeriodeMedAvklartMorsAktivitet(LocalDate fom, LocalDate tom, Resultat resultat) { - super(fom, tom); - this.resultat = resultat; - } - - public boolean erDokumentert() { - return !resultat.equals(IKKE_I_AKTIVITET_IKKE_DOKUMENTERT); - } - - public boolean erIAktivitet() { - return resultat.equals(I_AKTIVITET); - } - - public enum Resultat { - I_AKTIVITET, - IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IKKE_I_AKTIVITET_DOKUMENTERT - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - if (!super.equals(o)) - return false; - var that = (PeriodeMedAvklartMorsAktivitet) o; - return resultat == that.resultat; - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), resultat); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedBarnInnlagt.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedBarnInnlagt.java deleted file mode 100644 index bf0916b4..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedBarnInnlagt.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedBarnInnlagt extends LukketPeriode { - public PeriodeMedBarnInnlagt(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedFulltArbeid.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedFulltArbeid.java deleted file mode 100644 index 020cf8ad..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedFulltArbeid.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedFulltArbeid extends LukketPeriode { - public PeriodeMedFulltArbeid(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedHV.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedHV.java deleted file mode 100644 index 3f6e7ab8..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedHV.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedHV extends LukketPeriode { - public PeriodeMedHV(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedInnleggelse.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedInnleggelse.java deleted file mode 100644 index e96dfe6e..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedInnleggelse.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedInnleggelse extends LukketPeriode { - public PeriodeMedInnleggelse(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedSykdomEllerSkade.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedSykdomEllerSkade.java deleted file mode 100644 index 057d7b85..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedSykdomEllerSkade.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedSykdomEllerSkade extends LukketPeriode { - public PeriodeMedSykdomEllerSkade(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedTiltakIRegiAvNav.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedTiltakIRegiAvNav.java deleted file mode 100644 index 32e82938..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeMedTiltakIRegiAvNav.java +++ /dev/null @@ -1,11 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -import java.time.LocalDate; - -import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; - -public class PeriodeMedTiltakIRegiAvNav extends LukketPeriode { - public PeriodeMedTiltakIRegiAvNav(LocalDate fom, LocalDate tom) { - super(fom, tom); - } -} diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeVurderingType.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeVurderingType.java deleted file mode 100644 index 3b13c42c..00000000 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/PeriodeVurderingType.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; - -public enum PeriodeVurderingType { - PERIODE_OK, - ENDRE_PERIODE, - UAVKLART_PERIODE, - IKKE_VURDERT; -} diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AdopsjonOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AdopsjonOrkestreringTest.java index afc8a930..c332c8c5 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AdopsjonOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AdopsjonOrkestreringTest.java @@ -1,6 +1,5 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FEDREKVOTE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER; @@ -17,14 +16,12 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -88,9 +85,7 @@ class AdopsjonOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBas .behandling(farBehandling()) .søknad(new Søknad.Builder().type(Søknadstype.ADOPSJON) .oppgittPeriode(OppgittPeriode.forOverføring(MØDREKVOTE, omsorgsovertakelseDato.minusWeeks(1), - omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.INNLEGGELSE, null, null)) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(omsorgsovertakelseDato.minusWeeks(2), omsorgsovertakelseDato.plusWeeks(1))))) + omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.INNLEGGELSE, null, null, DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT))) .adopsjon(new Adopsjon.Builder().ankomstNorge(null)) .build(); @@ -111,9 +106,7 @@ class AdopsjonOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBas .behandling(farBehandling()) .søknad(new Søknad.Builder().type(Søknadstype.ADOPSJON) .oppgittPeriode(OppgittPeriode.forOverføring(MØDREKVOTE, omsorgsovertakelseDato.minusWeeks(1), - omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null)) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(omsorgsovertakelseDato.minusWeeks(2), omsorgsovertakelseDato.plusWeeks(1))))) + omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null, DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT))) .adopsjon(new Adopsjon.Builder().ankomstNorge(null)) .build(); @@ -178,9 +171,7 @@ class AdopsjonOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBas .behandling(morBehandling()) .søknad(new Søknad.Builder().type(Søknadstype.ADOPSJON) .oppgittPeriode(OppgittPeriode.forOverføring(FEDREKVOTE, omsorgsovertakelseDato.minusWeeks(1), - omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.INNLEGGELSE, null, null)) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(omsorgsovertakelseDato.minusWeeks(2), omsorgsovertakelseDato.plusWeeks(1))))) + omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.INNLEGGELSE, null, null, DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT))) .adopsjon(new Adopsjon.Builder().ankomstNorge(null)) .build(); @@ -201,9 +192,7 @@ class AdopsjonOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBas .behandling(morBehandling()) .søknad(new Søknad.Builder().type(Søknadstype.ADOPSJON) .oppgittPeriode(OppgittPeriode.forOverføring(FEDREKVOTE, omsorgsovertakelseDato.minusWeeks(1), - omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null)) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(omsorgsovertakelseDato.minusWeeks(2), omsorgsovertakelseDato.plusWeeks(1))))) + omsorgsovertakelseDato.minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null, DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT))) .adopsjon(new Adopsjon.Builder().ankomstNorge(null)) .build(); @@ -403,13 +392,10 @@ class AdopsjonOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBas var omsorgsovertakelseDato = LocalDate.of(2019, 1, 8); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(130)); - var oppgittPeriode = oppgittPeriode(FORELDREPENGER, omsorgsovertakelseDato, omsorgsovertakelseDato.plusWeeks(2).minusDays(1)); - var periodeMedAvklartMorsAktivitet = new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), - I_AKTIVITET); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet(periodeMedAvklartMorsAktivitet); + var oppgittPeriode = oppgittPeriode(FORELDREPENGER, omsorgsovertakelseDato, omsorgsovertakelseDato.plusWeeks(2).minusDays(1), false, null, + DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var søknad = new Søknad.Builder().type(Søknadstype.ADOPSJON) - .oppgittPeriode(oppgittPeriode) - .dokumentasjon(dokumentasjon); + .oppgittPeriode(oppgittPeriode); var grunnlag = grunnlagAdopsjon.arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) .kontoer(kontoer) .datoer(new Datoer.Builder().omsorgsovertakelse(omsorgsovertakelseDato)) @@ -439,8 +425,8 @@ class AdopsjonOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBas .søknad(new Søknad.Builder().type(Søknadstype.ADOPSJON) //Mottatt mer enn 3 mnd etter start .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, omsorgsovertakelseDato, - omsorgsovertakelseDato.plusWeeks(1).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, - omsorgsovertakelseDato.plusMonths(4), omsorgsovertakelseDato.plusMonths(4), null))) + omsorgsovertakelseDato.plusWeeks(1).minusDays(1), null, false, + omsorgsovertakelseDato.plusMonths(4), omsorgsovertakelseDato.plusMonths(4), null, null))) .adopsjon(new Adopsjon.Builder().ankomstNorge(omsorgsovertakelseDato)) .build(); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ArbeidsforholdPeriodeRegelOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ArbeidsforholdPeriodeRegelOrkestreringTest.java index d974616e..32f71a28 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ArbeidsforholdPeriodeRegelOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ArbeidsforholdPeriodeRegelOrkestreringTest.java @@ -1,6 +1,6 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER_FØR_FØDSEL; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.MØDREKVOTE; @@ -17,8 +17,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UtsettelseÅrsak; @@ -180,11 +178,10 @@ void skal_ikke_ta_hensyn_til_startdato_hvis_bare_ett_arbeidsforhold() { var tilkommetArbeidsforhold2 = AktivitetIdentifikator.forFrilans(); var arbeid = new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(tilkommetArbeidsforhold1, LocalDate.of(2019, 5, 1))) .arbeidsforhold(new Arbeidsforhold(tilkommetArbeidsforhold2, LocalDate.of(2019, 6, 10))); - var utsettelseArbeid = utsettelsePeriode(LocalDate.of(2019, 11, 4), LocalDate.of(2019, 12, 6), UtsettelseÅrsak.ARBEID); - var fpPeriode = oppgittPeriode(FORELDREPENGER, LocalDate.of(2019, 12, 16), LocalDate.of(2020, 1, 3)); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(utsettelseArbeid.getFom(), fpPeriode.getTom(), I_AKTIVITET)); - var søknad = søknad(Søknadstype.FØDSEL, utsettelseArbeid, fpPeriode).dokumentasjon(dokumentasjon); + var utsettelseArbeid = utsettelsePeriode(LocalDate.of(2019, 11, 4), LocalDate.of(2019, 12, 6), UtsettelseÅrsak.ARBEID, null, + MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var fpPeriode = oppgittPeriode(FORELDREPENGER, LocalDate.of(2019, 12, 16), LocalDate.of(2020, 1, 3), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var søknad = søknad(Søknadstype.FØDSEL, utsettelseArbeid, fpPeriode); var grunnlag = basicGrunnlag() .arbeid(arbeid) .søknad(søknad) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java index f07c5047..3931d5dc 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java @@ -1,9 +1,34 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.IKKE_I_AKTIVITET_DOKUMENTERT; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.IKKE_I_AKTIVITET_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.ARBEID; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.ARBEID_OG_UTDANNING; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.INNLAGT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.INTROPROG; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.KVALPROG; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.SYK; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.UFØRE; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet.UTDANNING; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_ARBEID_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_INTRODUKSJONSPROGRAM_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_INTRODUKSJONSPROGRAM_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_KVALIFISERINGSPROGRAM_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_KVALIFISERINGSPROGRAM_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_INNLEGGELSE_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_INNLEGGELSE_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_KOMBINASJON_ARBEID_UTDANNING_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_KOMBINASJON_ARBEID_UTDANNING_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_SYKDOM_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_SYKDOM_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_UTDANNING_IKKE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_UTDANNING_IKKE_OPPFYLT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITET_UKJENT_UDOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.BARE_FAR_RETT_IKKE_SØKT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.FORELDREPENGER_KUN_FAR_HAR_RETT_MOR_IKKE_UFØR; import static org.assertj.core.api.Assertions.assertThat; import java.time.LocalDate; @@ -18,14 +43,12 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Opptjening; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -42,16 +65,16 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr @ParameterizedTest(name = "Ved mors aktivitet {0} og dokumentasjonvurdering er {1}, forventes resultat {2}") @MethodSource("dokumentasjonOgAvslagKombinasjoner") void test_kombinasjoner_av_MorsAktivitet_PeriodeMedAvklartMorsAktivitetResultat_og_IkkeOppfyltÅrsak(MorsAktivitet morsAktivitet, - PeriodeMedAvklartMorsAktivitet.Resultat avklartMorsAktivitetResultat, - IkkeOppfyltÅrsak ikkeOppfyltÅrsak) { - testAvslag(morsAktivitet, avklartMorsAktivitetResultat, ikkeOppfyltÅrsak); + IkkeOppfyltÅrsak ikkeOppfyltÅrsak, + DokumentasjonVurdering dokumentasjonVurdering) { + testAvslag(morsAktivitet, ikkeOppfyltÅrsak, dokumentasjonVurdering); } @Test void mor_med_bekreftet_uføretrygd_skal_avslås() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2018, 1, 1)); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(200)).minsterettDager(20); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, UFØRE); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) @@ -63,14 +86,14 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr .kontoer(kontoer); var fastsattePerioder = fastsettPerioder(grunnlag); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(InnvilgetÅrsak.FORELDREPENGER_KUN_FAR_HAR_RETT_UTEN_AKTIVITETSKRAV); - assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.AKTIVITET_UKJENT_UDOKUMENTERT); + assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(AKTIVITET_UKJENT_UDOKUMENTERT); } @Test void mor_med_bekreftet_ikke_uføretrygd_skal_avslås() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(200)).minsterettDager(0); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, UFØRE); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) @@ -81,14 +104,14 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) .kontoer(kontoer); var fastsattePerioder = fastsettPerioder(grunnlag); - assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.FORELDREPENGER_KUN_FAR_HAR_RETT_MOR_IKKE_UFØR); + assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(FORELDREPENGER_KUN_FAR_HAR_RETT_MOR_IKKE_UFØR); } @Test void mor_uten_bekreftet_uføretrygd_skal_til_manuell() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = kontoerMedFellesperiode(); - var oppgittPeriode = fellesperiode(fødselsdato, MorsAktivitet.UFØRE); + var oppgittPeriode = fellesperiode(fødselsdato, UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) @@ -106,7 +129,7 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr void mor_med_bekreftet_uføretrygd_skal_gå_til_avslås_mangler_dager_uten_aktivitetskrav() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2018, 1, 1)); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(200)).utenAktivitetskravDager(20); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, UFØRE); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) @@ -118,14 +141,14 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr .kontoer(kontoer); var fastsattePerioder = fastsettPerioder(grunnlag); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(InnvilgetÅrsak.FORELDREPENGER_KUN_FAR_HAR_RETT_UTEN_AKTIVITETSKRAV); - assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.AKTIVITET_UKJENT_UDOKUMENTERT); + assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(AKTIVITET_UKJENT_UDOKUMENTERT); } @Test void mor_med_bekreftet_ikke_uføretrygd_skal_avslås_dager_uten_aktivitetskrav() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(200)).utenAktivitetskravDager(0); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, UFØRE); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) @@ -136,18 +159,15 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) .kontoer(kontoer); var fastsattePerioder = fastsettPerioder(grunnlag); - assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.FORELDREPENGER_KUN_FAR_HAR_RETT_MOR_IKKE_UFØR); + assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(FORELDREPENGER_KUN_FAR_HAR_RETT_MOR_IKKE_UFØR); } @Test void ukjent_mors_aktivitet_skal_gå_til_manuell_hvis_dokumentert_ikke_minsterett() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = kontoerMedFellesperiode(); - var oppgittPeriode = fellesperiode(fødselsdato, null); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), - IKKE_I_AKTIVITET_DOKUMENTERT)); - var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode).dokumentasjon(dokumentasjon); + var oppgittPeriode = fellesperiode(fødselsdato, null, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET); + var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) @@ -165,7 +185,7 @@ class AvslagAktivitetskravOrkestreringTest extends FastsettePerioderRegelOrkestr void ukjent_mors_aktivitet_fellesperiode_manuell_ikke_dokumentert() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = kontoerMedFellesperiode(); - var oppgittPeriode = fellesperiode(fødselsdato, null); + var oppgittPeriode = fellesperiode(fødselsdato, null, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) @@ -195,18 +215,18 @@ void ukjent_mors_aktivitet_fellesperiode_manuell_ikke_dokumentert() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) .kontoer(kontoer); var fastsattePerioder = fastsettPerioder(grunnlag); - assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.AKTIVITET_UKJENT_UDOKUMENTERT); + assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(AKTIVITET_UKJENT_UDOKUMENTERT); } @Test - void ukjent_mors_aktivitet_fri_uteettelse_foreldrepenger_skal_avslås_hvis_minsterett_ikke_dokumentert() { + void ukjent_mors_aktivitet_fri_utsettelse_foreldrepenger_skal_avslås_hvis_minsterett_ikke_dokumentert() { var fødselsdato = LocalDate.of(2022, 9, 1); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 75)).minsterettDager(1); var oppgittPeriode = foreldrepenger(fødselsdato, null); var utsettelse1 = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(15), fødselsdato.plusWeeks(16).minusDays(1), - UtsettelseÅrsak.ARBEID, fødselsdato, fødselsdato, null); + UtsettelseÅrsak.ARBEID, fødselsdato, fødselsdato, null, null); var utsettelse2 = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(16), fødselsdato.plusWeeks(17).minusDays(1), - UtsettelseÅrsak.FRI, fødselsdato, fødselsdato, null); + UtsettelseÅrsak.FRI, fødselsdato, fødselsdato, null, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, utsettelse1, utsettelse2)); @@ -218,9 +238,9 @@ void ukjent_mors_aktivitet_fellesperiode_manuell_ikke_dokumentert() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) .kontoer(kontoer); var fastsattePerioder = fastsettPerioder(grunnlag); - assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.AKTIVITET_UKJENT_UDOKUMENTERT); + assertThat(fastsattePerioder.get(1).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(AKTIVITET_UKJENT_UDOKUMENTERT); assertThat(fastsattePerioder.get(2).getUttakPeriode().getManuellbehandlingårsak()).isEqualTo(Manuellbehandlingårsak.AKTIVITEKTSKRAVET_MÅ_SJEKKES_MANUELT); - assertThat(fastsattePerioder.get(3).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.BARE_FAR_RETT_IKKE_SØKT); + assertThat(fastsattePerioder.get(3).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(BARE_FAR_RETT_IKKE_SØKT); } @Test @@ -228,14 +248,10 @@ void kun_far_har_rett() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 100)); var oppgittPeriode = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), - fødselsdato.plusWeeks(10), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - MorsAktivitet.UTDANNING); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), - IKKE_I_AKTIVITET_IKKE_DOKUMENTERT)); + fødselsdato.plusWeeks(10), null, false, fødselsdato, fødselsdato, + UTDANNING, MORS_AKTIVITET_IKKE_DOKUMENTERT); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(oppgittPeriode) - .dokumentasjon(dokumentasjon); + .oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .opptjening(new Opptjening.Builder().skjæringstidspunkt(fødselsdato)) @@ -249,7 +265,7 @@ void kun_far_har_rett() { assertThat(fastsattePerioder).hasSize(1); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.AVSLÅTT); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo( - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_UTDANNING_IKKE_DOKUMENTERT); + AKTIVITETSKRAVET_UTDANNING_IKKE_DOKUMENTERT); } @Test @@ -257,12 +273,9 @@ void kun_far_har_rett() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 100)); var oppgittPeriode = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10), - UtsettelseÅrsak.ARBEID, fødselsdato, fødselsdato, MorsAktivitet.ARBEID); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), IKKE_I_AKTIVITET_DOKUMENTERT)); + UtsettelseÅrsak.ARBEID, fødselsdato, fødselsdato, ARBEID, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(oppgittPeriode) - .dokumentasjon(dokumentasjon); + .oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder() .behandling(farBehandling().kreverSammenhengendeUttak(true)) @@ -277,7 +290,7 @@ void kun_far_har_rett() { assertThat(fastsattePerioder).hasSize(1); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.AVSLÅTT); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo( - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT); + AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT); } @Test @@ -285,12 +298,9 @@ void kun_far_har_rett() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 100)); var oppgittPeriode = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10), - UtsettelseÅrsak.ARBEID, fødselsdato, fødselsdato, MorsAktivitet.ARBEID); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), IKKE_I_AKTIVITET_DOKUMENTERT)); + UtsettelseÅrsak.ARBEID, fødselsdato, fødselsdato, ARBEID, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(oppgittPeriode) - .dokumentasjon(dokumentasjon); + .oppgittPeriode(oppgittPeriode); var grunnlag = new RegelGrunnlag.Builder() .behandling(farBehandling()) @@ -305,71 +315,54 @@ void kun_far_har_rett() { assertThat(fastsattePerioder).hasSize(1); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.AVSLÅTT); assertThat(fastsattePerioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo( - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT); + AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT); } private Kontoer.Builder kontoerMedFellesperiode() { return new Kontoer.Builder().konto(new Konto.Builder().type(FELLESPERIODE).trekkdager(50)); } - private OppgittPeriode foreldrepenger(LocalDate fødselsdato, MorsAktivitet utdanning) { + private OppgittPeriode foreldrepenger(LocalDate fødselsdato, MorsAktivitet morsAktivitet) { return OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(15).minusDays(1), null, - false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, utdanning); + false, fødselsdato, fødselsdato, morsAktivitet, null); } - private OppgittPeriode fellesperiode(LocalDate fødselsdato, MorsAktivitet utdanning) { + private OppgittPeriode fellesperiode(LocalDate fødselsdato, MorsAktivitet morsAktivitet, DokumentasjonVurdering dokumentasjonVurdering) { return OppgittPeriode.forVanligPeriode(FELLESPERIODE, fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(15).minusDays(1), null, - false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, utdanning); + false, fødselsdato, fødselsdato, morsAktivitet, dokumentasjonVurdering); } private static Stream dokumentasjonOgAvslagKombinasjoner() { - return Stream.of(Arguments.of(MorsAktivitet.ARBEID, IKKE_I_AKTIVITET_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.ARBEID, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_ARBEID_IKKE_DOKUMENTERT), - - Arguments.of(MorsAktivitet.SYK, IKKE_I_AKTIVITET_DOKUMENTERT, IkkeOppfyltÅrsak.AKTIVITETSKRAVET_SYKDOM_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.SYK, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_SYKDOM_IKKE_DOKUMENTERT), - - Arguments.of(MorsAktivitet.INNLAGT, IKKE_I_AKTIVITET_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_INNLEGGELSE_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.INNLAGT, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_INNLEGGELSE_IKKE_DOKUMENTERT), - - Arguments.of(MorsAktivitet.UTDANNING, IKKE_I_AKTIVITET_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_UTDANNING_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.UTDANNING, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_UTDANNING_IKKE_DOKUMENTERT), - - Arguments.of(MorsAktivitet.KVALPROG, IKKE_I_AKTIVITET_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_KVALIFISERINGSPROGRAM_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.KVALPROG, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_KVALIFISERINGSPROGRAM_IKKE_DOKUMENTERT), - - Arguments.of(MorsAktivitet.INTROPROG, IKKE_I_AKTIVITET_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_INTRODUKSJONSPROGRAM_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.INTROPROG, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_DELTAKELSE_INTRODUKSJONSPROGRAM_IKKE_DOKUMENTERT), - - Arguments.of(MorsAktivitet.ARBEID_OG_UTDANNING, IKKE_I_AKTIVITET_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_KOMBINASJON_ARBEID_UTDANNING_IKKE_OPPFYLT), - Arguments.of(MorsAktivitet.ARBEID_OG_UTDANNING, IKKE_I_AKTIVITET_IKKE_DOKUMENTERT, - IkkeOppfyltÅrsak.AKTIVITETSKRAVET_KOMBINASJON_ARBEID_UTDANNING_IKKE_DOKUMENTERT)); + return Stream.of(Arguments.of(ARBEID, AKTIVITETSKRAVET_ARBEID_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(ARBEID, AKTIVITETSKRAVET_ARBEID_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT), + + Arguments.of(SYK, AKTIVITETSKRAVET_SYKDOM_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(SYK, AKTIVITETSKRAVET_SYKDOM_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT), + + Arguments.of(INNLAGT, AKTIVITETSKRAVET_INNLEGGELSE_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(INNLAGT, AKTIVITETSKRAVET_INNLEGGELSE_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT), + + Arguments.of(UTDANNING, AKTIVITETSKRAVET_UTDANNING_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(UTDANNING, AKTIVITETSKRAVET_UTDANNING_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT), + + Arguments.of(KVALPROG, AKTIVITETSKRAVET_DELTAKELSE_KVALIFISERINGSPROGRAM_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(KVALPROG, AKTIVITETSKRAVET_DELTAKELSE_KVALIFISERINGSPROGRAM_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT), + + Arguments.of(INTROPROG, AKTIVITETSKRAVET_DELTAKELSE_INTRODUKSJONSPROGRAM_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(INTROPROG, AKTIVITETSKRAVET_DELTAKELSE_INTRODUKSJONSPROGRAM_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT), + + Arguments.of(ARBEID_OG_UTDANNING, AKTIVITETSKRAVET_KOMBINASJON_ARBEID_UTDANNING_IKKE_OPPFYLT, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET), + Arguments.of(ARBEID_OG_UTDANNING, AKTIVITETSKRAVET_KOMBINASJON_ARBEID_UTDANNING_IKKE_DOKUMENTERT, MORS_AKTIVITET_IKKE_DOKUMENTERT)); } private void testAvslag(MorsAktivitet morsAktivitet, - PeriodeMedAvklartMorsAktivitet.Resultat avklaringsResultat, - IkkeOppfyltÅrsak ikkeOppfyltÅrsak) { + IkkeOppfyltÅrsak ikkeOppfyltÅrsak, + DokumentasjonVurdering dokumentasjonVurdering) { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = kontoerMedFellesperiode(); - var oppgittPeriode = fellesperiode(fødselsdato, morsAktivitet); + var oppgittPeriode = fellesperiode(fødselsdato, morsAktivitet, dokumentasjonVurdering); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); - søknad.dokumentasjon(new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), avklaringsResultat))); - - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelRegelTestUtil.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelRegelTestUtil.java index 9bb14729..8d015685 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelRegelTestUtil.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelRegelTestUtil.java @@ -47,8 +47,9 @@ private DelRegelTestUtil() { static OppgittPeriode overføringsperiode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, - OverføringÅrsak årsak) { - return OppgittPeriode.forOverføring(stønadskontotype, fom, tom, årsak, null, null); + OverføringÅrsak årsak, + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forOverføring(stønadskontotype, fom, tom, årsak, null, null, dokumentasjonVurdering); } static OppgittPeriode gradertPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { @@ -59,34 +60,34 @@ static OppgittPeriode gradertPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, Set gradertAktiviteter) { - return gradertPeriode(stønadskontotype, fom, tom, gradertAktiviteter, PeriodeVurderingType.IKKE_VURDERT); + return gradertPeriode(stønadskontotype, fom, tom, gradertAktiviteter, null); } static OppgittPeriode gradertPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, Set gradertAktiviteter, - PeriodeVurderingType vurderingType) { - return OppgittPeriode.forGradering(stønadskontotype, fom, tom, BigDecimal.TEN, null, false, gradertAktiviteter, vurderingType, - null, null, null); + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forGradering(stønadskontotype, fom, tom, BigDecimal.TEN, null, false, gradertAktiviteter, + null, null, null, dokumentasjonVurdering); } static OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return oppgittPeriode(stønadskontotype, fom, tom, PeriodeVurderingType.IKKE_VURDERT); + return oppgittPeriode(stønadskontotype, fom, tom, null); } static OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, - PeriodeVurderingType vurderingType) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, vurderingType, null, null, null); + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, null, null, null, dokumentasjonVurdering); } static OppgittPeriode oppholdPeriode(LocalDate fom, LocalDate tom, OppholdÅrsak årsak) { return OppgittPeriode.forOpphold(fom, tom, årsak, null, null); } - static OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, UtsettelseÅrsak utsettelsesÅrsak) { - return OppgittPeriode.forUtsettelse(fom, tom, utsettelsesÅrsak, null, null, null); + static OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, UtsettelseÅrsak utsettelsesÅrsak, DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forUtsettelse(fom, tom, utsettelsesÅrsak, null, null, null, dokumentasjonVurdering); } } diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestreringTestBase.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestreringTestBase.java index 0443cb90..73f04537 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestreringTestBase.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestreringTestBase.java @@ -18,12 +18,12 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; @@ -122,7 +122,7 @@ OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate tom, boolean flerbarnsdager, SamtidigUttaksprosent samtidigUttaksprosent) { - return oppgittPeriode(stønadskontotype, fom, tom, flerbarnsdager, samtidigUttaksprosent, PeriodeVurderingType.IKKE_VURDERT); + return oppgittPeriode(stønadskontotype, fom, tom, flerbarnsdager, samtidigUttaksprosent, null); } OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, @@ -130,9 +130,17 @@ OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate tom, boolean flerbarnsdager, SamtidigUttaksprosent samtidigUttaksprosent, - PeriodeVurderingType vurderingType) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, samtidigUttaksprosent, flerbarnsdager, vurderingType, null, - null, null); + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, samtidigUttaksprosent, flerbarnsdager, null, + null, null, dokumentasjonVurdering); + } + + OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, + LocalDate fom, + LocalDate tom, + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, null, + null, null, dokumentasjonVurdering); } OppgittPeriode gradertoppgittPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, BigDecimal arbeidsprosent) { @@ -144,8 +152,7 @@ OppgittPeriode gradertoppgittPeriode(Stønadskontotype stønadskontotype, LocalDate tom, BigDecimal arbeidsprosent, Set gradertAktiviteter) { - return OppgittPeriode.forGradering(stønadskontotype, fom, tom, arbeidsprosent, null, false, gradertAktiviteter, - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + return OppgittPeriode.forGradering(stønadskontotype, fom, tom, arbeidsprosent, null, false, gradertAktiviteter, null, null, null, null); } RegelGrunnlag.Builder basicGrunnlagMor(LocalDate fødselsdato) { @@ -180,12 +187,15 @@ RettOgOmsorg.Builder bareFarRett() { return new RettOgOmsorg.Builder().samtykke(true).morHarRett(false).farHarRett(true); } - OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, UtsettelseÅrsak utsettelseÅrsak) { - return utsettelsePeriode(fom, tom, utsettelseÅrsak, null); + OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, UtsettelseÅrsak utsettelseÅrsak, DokumentasjonVurdering dokumentasjonVurdering) { + return utsettelsePeriode(fom, tom, utsettelseÅrsak, null, dokumentasjonVurdering); } - OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, UtsettelseÅrsak utsettelseÅrsak, MorsAktivitet morsAktivitet) { - return OppgittPeriode.forUtsettelse(fom, tom, utsettelseÅrsak, null, null, morsAktivitet); + OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, + UtsettelseÅrsak utsettelseÅrsak, + MorsAktivitet morsAktivitet, + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forUtsettelse(fom, tom, utsettelseÅrsak, null, null, morsAktivitet, dokumentasjonVurdering); } Inngangsvilkår.Builder oppfyltAlleVilkår() { diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregelTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregelTest.java index 85af9548..2258fe10 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregelTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteDelregelTest.java @@ -3,6 +3,7 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.kjørRegel; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.overføringsperiode; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_1; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FEDREKVOTE; import static org.assertj.core.api.Assertions.assertThat; @@ -18,7 +19,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; @@ -26,7 +27,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppholdÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -114,7 +114,7 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) var fødselsdato = LocalDate.of(2018, 1, 1); var oppgittPeriode = OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4), null, - true, PeriodeVurderingType.UAVKLART_PERIODE, null, null, null); + true, null, null, null, null); var arbeidsforhold = new Arbeidsforhold(ARBEIDSFORHOLD_1); var grunnlag = basicGrunnlagFar(fødselsdato).søknad( søknad(oppgittPeriode, new PeriodeUtenOmsorg(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4)))) @@ -143,7 +143,7 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(oppgittPeriode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + søknad(oppgittPeriode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(oppgittPeriode, grunnlag); @@ -161,7 +161,7 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.INNLEGGELSE); + var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.INNLEGGELSE, null); var kontoer = new Kontoer.Builder().konto( new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); @@ -183,7 +183,7 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.SYKDOM_ELLER_SKADE); + var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.SYKDOM_ELLER_SKADE, null); var kontoer = new Kontoer.Builder().konto( new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); @@ -205,7 +205,7 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.ALENEOMSORG); + var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.ALENEOMSORG, null); var kontoer = new Kontoer.Builder().konto( new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); @@ -227,7 +227,7 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT); + var oppgittPeriode = overføringsperiode(FEDREKVOTE, fom, tom, OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT, null); var kontoer = new Kontoer.Builder().konto( new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); @@ -247,10 +247,9 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) void UT1026_far_førUke7_etterTermin_gyldigGrunn_omsorg_disponibleDager_ikkeGradert() { var fødselsdato = LocalDate.of(2018, 1, 1); - var oppgittPeriode = DelRegelTestUtil.oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4), - PeriodeVurderingType.PERIODE_OK); + var oppgittPeriode = DelRegelTestUtil.oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4), SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(oppgittPeriode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))) + søknad(oppgittPeriode)) .kontoer(fedrekvoteKonto(1000)) .build(); @@ -263,9 +262,9 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) void UT1217_far_førUke7_etterTermin_gyldigGrunn_omsorg_disponibleDager_gradert_avklart() { var fødselsdato = LocalDate.of(2018, 1, 1); - var oppgittPeriode = gradertPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4)); + var oppgittPeriode = gradertPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4), SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(oppgittPeriode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))) + søknad(oppgittPeriode)) .kontoer(fedrekvoteKonto(1000)) .build(); @@ -274,12 +273,8 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) assertInnvilget(regelresultat, InnvilgetÅrsak.GRADERING_KVOTE_ELLER_OVERFØRT_KVOTE); } - private OppgittPeriode gradertPeriode(LocalDate fom, LocalDate tom) { - return gradertPeriode(fom, tom, PeriodeVurderingType.IKKE_VURDERT); - } - - private OppgittPeriode gradertPeriode(LocalDate fom, LocalDate tom, PeriodeVurderingType vurderingType) { - return DelRegelTestUtil.gradertPeriode(FEDREKVOTE, fom, tom, Set.of(AktivitetIdentifikator.forFrilans()), vurderingType); + private OppgittPeriode gradertPeriode(LocalDate fom, LocalDate tom, DokumentasjonVurdering dokumentasjonVurdering) { + return DelRegelTestUtil.gradertPeriode(FEDREKVOTE, fom, tom, Set.of(AktivitetIdentifikator.forFrilans()), dokumentasjonVurdering); } @Test @@ -288,7 +283,7 @@ void UT1031_far_etterUke7_gyldigGrunn_omsorg_disponibleDager_ikkeGradert() { var oppgittPeriode = oppgittPeriode(fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(9)); var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(oppgittPeriode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))) + søknad(oppgittPeriode)) .kontoer(fedrekvoteKonto(1000)) .build(); @@ -315,9 +310,9 @@ void UT1031_far_etterUke7_gyldigGrunn_omsorg_disponibleDager_ikkeGradert() { void UT1218_far_etterUke7_gyldigGrunn_omsorg_disponibleDager_gradert_avklart() { var fødselsdato = LocalDate.of(2018, 1, 1); - var oppgittPeriode = gradertPeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(15)); + var oppgittPeriode = gradertPeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(15), null); var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(oppgittPeriode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))) + søknad(oppgittPeriode)) .kontoer(fedrekvoteKonto(1000)) .build(); @@ -459,11 +454,6 @@ private Kontoer.Builder fedrekvoteOgFlerbarnsdagerKonto(int fedrekvoteTrekkdager .flerbarnsdager(flerbarnsdagerTrekkdager); } - private Søknad.Builder søknad(OppgittPeriode oppgittPeriode, GyldigGrunnPeriode gyldigGrunnPeriode) { - return fødselssøknadMedEnPeriode(oppgittPeriode).dokumentasjon( - new Dokumentasjon.Builder().gyldigGrunnPeriode(gyldigGrunnPeriode)); - } - private Søknad.Builder søknad(OppgittPeriode oppgittPeriode, PeriodeUtenOmsorg periodeUtenOmsorg) { return fødselssøknadMedEnPeriode(oppgittPeriode).dokumentasjon( new Dokumentasjon.Builder().periodeUtenOmsorg(periodeUtenOmsorg)); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteOrkestreringTest.java index 075dbab9..26945e25 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FedrekvoteOrkestreringTest.java @@ -2,6 +2,8 @@ import static java.util.Comparator.comparing; import static java.util.stream.Collectors.toList; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.AVSLÅTT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.INNVILGET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.MANUELL_BEHANDLING; @@ -14,13 +16,12 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -36,8 +37,8 @@ class FedrekvoteOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB var fødselsdato = LocalDate.of(2018, 1, 1); var grunnlag = basicGrunnlagFar(fødselsdato) .søknad(søknad(Søknadstype.FØDSEL, - oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), PeriodeVurderingType.PERIODE_OK), - oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(2), PeriodeVurderingType.UAVKLART_PERIODE))); + oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT), + oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(2), null))); var resultater = fastsettPerioder(grunnlag); @@ -49,8 +50,8 @@ class FedrekvoteOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB FEDREKVOTE); } - private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurderingType vurderingType) { - return OppgittPeriode.forVanligPeriode(FEDREKVOTE, fom, tom, null, false, vurderingType, null, null, null); + private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forVanligPeriode(FEDREKVOTE, fom, tom, null, false, null, null, null, dokumentasjonVurdering); } @Test @@ -59,9 +60,8 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FEDREKVOTE).trekkdager(100)); var grunnlag = basicGrunnlagFar(fødselsdato) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), PeriodeVurderingType.PERIODE_OK)) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) + .oppgittPeriode(oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), SYKDOM_ANNEN_FORELDER_DOKUMENTERT)) + .dokumentasjon(new Dokumentasjon.Builder() .periodeUtenOmsorg(new PeriodeUtenOmsorg(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))))) .kontoer(kontoer); @@ -83,8 +83,7 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde var grunnlag = basicGrunnlagFar(fødselsdato) .søknad(søknad(Søknadstype.FØDSEL, - oppgittPeriode(fødselsdato.plusWeeks(6).minusDays(1), fødselsdato.plusWeeks(10).minusDays(1), - PeriodeVurderingType.UAVKLART_PERIODE))) + oppgittPeriode(fødselsdato.plusWeeks(6).minusDays(1), fødselsdato.plusWeeks(10).minusDays(1), null))) .build(); var resultater = fastsettPerioder(grunnlag); @@ -101,7 +100,7 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde void fedrekvote_før_6_uker_blir_avslått() { var fødselsdato = LocalDate.of(2018, 1, 1); - var periode = oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1), PeriodeVurderingType.UAVKLART_PERIODE); + var periode = oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1), null); var grunnlag = basicGrunnlagFar(fødselsdato) .søknad(søknad(Søknadstype.FØDSEL, periode)); @@ -136,16 +135,11 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde @Test void overføring_av_fedrekvote_grunnet_sykdom_skade_skal_innvilges() { var fødselsdato = LocalDate.of(2018, 1, 1); - var grunnlag = basicGrunnlagMor(fødselsdato) - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(oppgittPeriode(Stønadskontotype.FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), - fødselsdato.minusDays(1))) - .oppgittPeriode( - oppgittPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) - .oppgittPeriode(overføringPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), - fødselsdato.plusWeeks(12).minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE)) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1))))); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) + .oppgittPeriode(oppgittPeriode(Stønadskontotype.FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) + .oppgittPeriode(oppgittPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) + .oppgittPeriode(overføringPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), + OverføringÅrsak.SYKDOM_ELLER_SKADE, SYKDOM_ANNEN_FORELDER_DOKUMENTERT))); var perioder = fastsettPerioder(grunnlag); @@ -189,7 +183,7 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde fødselsdato.minusDays(1)), oppgittPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1)), overføringPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), - fødselsdato.plusWeeks(12).minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE))); + fødselsdato.plusWeeks(12).minusDays(1), OverføringÅrsak.SYKDOM_ELLER_SKADE, null))); var perioder = fastsettPerioder(grunnlag); @@ -229,7 +223,7 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde fødselsdato.minusDays(1)), oppgittPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1)), overføringPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), - fødselsdato.plusWeeks(12).minusDays(1), null))); + fødselsdato.plusWeeks(12).minusDays(1), null, null))); var perioder = fastsettPerioder(grunnlag); @@ -266,8 +260,8 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde var grunnlag = basicGrunnlagFar(fødselsdato) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().type(FEDREKVOTE).trekkdager(15*5)).farUttakRundtFødselDager(10)) .søknad(søknad(Søknadstype.FØDSEL, - oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), PeriodeVurderingType.IKKE_VURDERT), - oppgittPeriode(fødselsdato.plusWeeks(31), fødselsdato.plusWeeks(40).minusDays(1), PeriodeVurderingType.IKKE_VURDERT))); + oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), null), + oppgittPeriode(fødselsdato.plusWeeks(31), fødselsdato.plusWeeks(40).minusDays(1), null))); var resultater = fastsettPerioder(grunnlag); @@ -285,8 +279,8 @@ void fedrekvote_med_enkelt_uttak_rundt_termin_blir_avkortet_og_innvilget_riktig( .datoer(datoer(fødselsdato).termin(termindato)) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().type(FEDREKVOTE).trekkdager(15*5)).farUttakRundtFødselDager(10)) .søknad(søknad(Søknadstype.FØDSEL, - oppgittPeriode(termindato.minusDays(2), termindato.plusWeeks(2).minusDays(3), PeriodeVurderingType.IKKE_VURDERT), - oppgittPeriode(fødselsdato.plusWeeks(31), fødselsdato.plusWeeks(50).minusDays(1), PeriodeVurderingType.IKKE_VURDERT))); + oppgittPeriode(termindato.minusDays(2), termindato.plusWeeks(2).minusDays(3), null), + oppgittPeriode(fødselsdato.plusWeeks(31), fødselsdato.plusWeeks(50).minusDays(1), null))); var resultater = fastsettPerioder(grunnlag); @@ -304,7 +298,7 @@ void fedrekvote_med_enkelt_uttak_rundt_termin_blir_avkortet_og_innvilget_riktig( var grunnlag = basicGrunnlagFar(fødselsdato) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().type(FEDREKVOTE).trekkdager(15*5)).farUttakRundtFødselDager(10)) .søknad(søknad(Søknadstype.FØDSEL, - oppgittPeriode(fødselsdato.minusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), PeriodeVurderingType.IKKE_VURDERT))); + oppgittPeriode(fødselsdato.minusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), null))); var resultater = fastsettPerioder(grunnlag); @@ -323,8 +317,8 @@ void fedrekvote_med_enkelt_uttak_rundt_termin_blir_avkortet_og_innvilget_riktig( .datoer(datoer(fødselsdato).termin(termindato)) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().type(FEDREKVOTE).trekkdager(15*5)).farUttakRundtFødselDager(10)) .søknad(søknad(Søknadstype.FØDSEL, - oppgittPeriode(termindato.minusDays(2), termindato.plusWeeks(1), PeriodeVurderingType.IKKE_VURDERT), - oppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), PeriodeVurderingType.IKKE_VURDERT))); + oppgittPeriode(termindato.minusDays(2), termindato.plusWeeks(1), null), + oppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), null))); var resultater = fastsettPerioder(grunnlag); @@ -336,8 +330,12 @@ void fedrekvote_med_enkelt_uttak_rundt_termin_blir_avkortet_og_innvilget_riktig( verifiserPeriode(resultater.get(3).getUttakPeriode(), fødselsdato.plusWeeks(4).plusDays(2), fødselsdato.plusWeeks(6).minusDays(1), MANUELL_BEHANDLING, FEDREKVOTE); } - private OppgittPeriode overføringPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom, OverføringÅrsak årsak) { - return OppgittPeriode.forOverføring(stønadskontotype, fom, tom, årsak, null, null); + private OppgittPeriode overføringPeriode(Stønadskontotype stønadskontotype, + LocalDate fom, + LocalDate tom, + OverføringÅrsak årsak, + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forOverføring(stønadskontotype, fom, tom, årsak, null, null, dokumentasjonVurdering); } private Datoer.Builder datoer(LocalDate fødselsdato) { diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java index b9430a6b..ff182b6a 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java @@ -3,6 +3,7 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.kjørRegel; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.oppholdPeriode; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_1; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.*; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.MØDREKVOTE; import static org.assertj.core.api.Assertions.assertThat; @@ -11,9 +12,27 @@ import java.time.LocalDate; import java.util.Set; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppholdÅrsak; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.GraderingIkkeInnvilgetÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.InnvilgetÅrsak; @@ -144,8 +163,7 @@ private RegelGrunnlag.Builder basicGrunnlagFar() { @Test void UT1064_mor_før3UkerFørFamilieHendelse_gradert() { - var søknadsperiode = gradertoppgittPeriode(fødselsdato.minusWeeks(5), fødselsdato.minusWeeks(4), - PeriodeVurderingType.PERIODE_OK, null, false); + var søknadsperiode = gradertoppgittPeriode(fødselsdato.minusWeeks(5), fødselsdato.minusWeeks(4), null, false, null); var kontoer = enFellesperiodeKonto(13 * 5); var grunnlag = basicGrunnlagMor().søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -160,8 +178,7 @@ private RegelGrunnlag.Builder basicGrunnlagFar() { @Test void UT1219_mor_tidligstUke7_omsorg_disponibleStønadsdager_gradert_avklart() { - var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(9), - PeriodeVurderingType.PERIODE_OK, null, false); + var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(9), null, false, null); var kontoer = enFellesperiodeKonto(100); var grunnlag = basicGrunnlagMor().søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -203,8 +220,7 @@ void UT1047_mor_fellesperioder_etter_uke7() { @Test void UT1255_far_førUke7_etterFamileHendelse_gyldigGrunn_omsorg_disponibleStønadsdager_gradert_avklart() { - var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(5), - PeriodeVurderingType.PERIODE_OK, null, false); + var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(5), null, false, SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var kontoer = enFellesperiodeKonto(100); var grunnlag = basicGrunnlagFar().søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -233,8 +249,7 @@ void UT1047_mor_fellesperioder_etter_uke7() { @Test void UT1256_far_førUke7_etterFamileHendelse_gyldigGrunn_omsorg_disponibleStønadsdager_utenGradering() { - var søknadsperiode = oppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(5), null, false, - PeriodeVurderingType.PERIODE_OK); + var søknadsperiode = oppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(5), null, false, INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var kontoer = enFellesperiodeKonto(100); var grunnlag = basicGrunnlagFar().søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -289,13 +304,9 @@ void opphold_fellesperiode_annenforelder_tom_for_konto() { @Test void far_etterUke7_omsorg_disponibleStønadsdager_gradering_ikkeFlerbarnsdager() { - var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(9), - PeriodeVurderingType.PERIODE_OK, null, false); + var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(9), null, false, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var kontoer = enFellesperiodeKonto(100); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(søknadsperiode.getFom(), søknadsperiode.getTom(), - PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET)); - var søknad = søknad(søknadsperiode).dokumentasjon(dokumentasjon); + var søknad = søknad(søknadsperiode); var grunnlag = basicGrunnlagFar().søknad(søknad) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .kontoer(kontoer) @@ -308,8 +319,7 @@ void opphold_fellesperiode_annenforelder_tom_for_konto() { @Test void UT1270_far_etterUke7_omsorg_disponibleStønadsdager_gradering_flerbarnsdager() { - var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(9), - PeriodeVurderingType.PERIODE_OK, null, true); + var søknadsperiode = gradertoppgittPeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(9), null, true, null); var kontoer = fellesperiodeOgFlerbarnsdagerKonto(100, 85); var grunnlag = basicGrunnlagFar().søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -323,12 +333,9 @@ void opphold_fellesperiode_annenforelder_tom_for_konto() { @Test void far_etterUke7_omsorg_disponibleStønadsdager_utenGradering_ikkeFlerbarnsdager() { - var søknadsperiode = oppgittPeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(9), null, false); + var søknadsperiode = oppgittPeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(9), null, false, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var kontoer = enFellesperiodeKonto(100); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(søknadsperiode.getFom(), søknadsperiode.getTom(), - PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET)); - var søknad = søknad(søknadsperiode).dokumentasjon(dokumentasjon); + var søknad = søknad(søknadsperiode); var grunnlag = basicGrunnlagFar().søknad(søknad) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .kontoer(kontoer) @@ -375,11 +382,11 @@ void opphold_fellesperiode_annenforelder_tom_for_konto() { private OppgittPeriode gradertoppgittPeriode(LocalDate fom, LocalDate tom, - PeriodeVurderingType vurderingType, SamtidigUttaksprosent samtidigUttaksprosent, - boolean flerbarnsdager) { + boolean flerbarnsdager, + DokumentasjonVurdering dokumentasjonVurdering) { return OppgittPeriode.forGradering(FELLESPERIODE, fom, tom, BigDecimal.TEN, samtidigUttaksprosent, flerbarnsdager, - Set.of(AktivitetIdentifikator.forFrilans()), vurderingType, null, null, null); + Set.of(AktivitetIdentifikator.forFrilans()), null, null, null, dokumentasjonVurdering); } private Søknad.Builder søknad(OppgittPeriode søknadsperiode, PeriodeUtenOmsorg periodeUtenOmsorg) { @@ -409,16 +416,16 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, SamtidigUttaksprosent samtidigUttaksprosent, boolean flerbarnsdager) { - return oppgittPeriode(fom, tom, samtidigUttaksprosent, flerbarnsdager, PeriodeVurderingType.IKKE_VURDERT); + return oppgittPeriode(fom, tom, samtidigUttaksprosent, flerbarnsdager, null); } private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, SamtidigUttaksprosent samtidigUttaksprosent, boolean flerbarnsdager, - PeriodeVurderingType vurderingType) { - return OppgittPeriode.forVanligPeriode(FELLESPERIODE, fom, tom, samtidigUttaksprosent, flerbarnsdager, vurderingType, null, - null, null); + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forVanligPeriode(FELLESPERIODE, fom, tom, samtidigUttaksprosent, flerbarnsdager, null, + null, null, dokumentasjonVurdering); } private void assertInnvilget(FastsettePerioderRegelresultat regelresultat, InnvilgetÅrsak innvilgetÅrsak) { diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeMedGraderingTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeMedGraderingTest.java index 4c018340..530c127c 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeMedGraderingTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeMedGraderingTest.java @@ -8,9 +8,21 @@ import java.time.LocalDate; import java.util.Set; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.UtfallType; class FellesperiodeMedGraderingTest { @@ -22,7 +34,7 @@ class FellesperiodeMedGraderingTest { var graderingFom = fødselsdato.plusWeeks(10); var graderingTom = fødselsdato.plusWeeks(20).minusDays(1); var aktuellPeriode = OppgittPeriode.forGradering(Stønadskontotype.FELLESPERIODE, graderingFom, graderingTom, - BigDecimal.valueOf(50), null, false, Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, null, null, null); + BigDecimal.valueOf(50), null, false, Set.of(ARBEIDSFORHOLD_1), null, null, null, null); var kontoer = new Kontoer.Builder().konto(konto(Stønadskontotype.FELLESPERIODE, 5 * 5)); var arbeidsforhold = new Arbeidsforhold(ARBEIDSFORHOLD_1); var grunnlag = basicGrunnlag().kontoer(kontoer) @@ -40,7 +52,7 @@ class FellesperiodeMedGraderingTest { var graderingFom = fødselsdato.plusWeeks(10); var graderingTom = fødselsdato.plusWeeks(20).minusDays(1); var aktuellPeriode = OppgittPeriode.forGradering(Stønadskontotype.FELLESPERIODE, graderingFom, graderingTom, - BigDecimal.valueOf(50), null, false, Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, null, null, null); + BigDecimal.valueOf(50), null, false, Set.of(ARBEIDSFORHOLD_1), null, null, null, null); var kontoer = new Kontoer.Builder().konto(konto(Stønadskontotype.FELLESPERIODE, 4 * 5)); var arbeidsforhold = new Arbeidsforhold(ARBEIDSFORHOLD_1); var grunnlag = basicGrunnlag().kontoer(kontoer) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeOrkestreringTest.java index f7e2b7ba..5dbe287d 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeOrkestreringTest.java @@ -1,6 +1,7 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.AVSLÅTT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.INNVILGET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; @@ -11,9 +12,20 @@ import java.time.LocalDate; import java.util.List; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.Manuellbehandlingårsak; @@ -54,10 +66,8 @@ private Kontoer.Builder fellesperiodeKonto(int trekkdager) { @Test void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet() { var kontoer = fellesperiodeKonto(4 * 5); - var oppgittPeriode = oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(15)); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), I_AKTIVITET)); - var søknad = søknad(Søknadstype.FØDSEL, oppgittPeriode).dokumentasjon(dokumentasjon); + var oppgittPeriode = oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(15), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var søknad = søknad(Søknadstype.FØDSEL, oppgittPeriode); var grunnlag = basicGrunnlagFar().søknad(søknad) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) .kontoer(kontoer); @@ -72,8 +82,7 @@ void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet @Test void for_tidlig_fellesperiode_far_blir_knekt_og_må_behandles_manuelt() { - var periode = oppgittPeriode(FELLESPERIODE, fødselsdato.minusWeeks(5), fødselsdato.plusWeeks(1), false, null, - PeriodeVurderingType.PERIODE_OK); + var periode = oppgittPeriode(FELLESPERIODE, fødselsdato.minusWeeks(5), fødselsdato.plusWeeks(1), false, null, INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var grunnlag = basicGrunnlagFar().søknad(søknad(Søknadstype.FØDSEL, periode)); var resultater = fastsettPerioder(grunnlag); @@ -164,11 +173,10 @@ void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet var grunnlag = basicGrunnlagMor().datoer(new Datoer.Builder().termin(termin).fødsel(termin.plusWeeks(2))) .søknad(new Søknad.Builder().type(Søknadstype.TERMIN) .oppgittePerioder(List.of(OppgittPeriode.forVanligPeriode(FELLESPERIODE, termin.minusWeeks(15), - termin.minusWeeks(3).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, null), + termin.minusWeeks(3).minusDays(1), null, false, null, null, null, null), OppgittPeriode.forVanligPeriode(FORELDREPENGER_FØR_FØDSEL, termin.minusWeeks(3), termin.minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, null), - OppgittPeriode.forVanligPeriode(MØDREKVOTE, termin, termin.plusWeeks(4), null, false, - PeriodeVurderingType.IKKE_VURDERT, null, null, null)))); + null, false, null, null, null, null), + OppgittPeriode.forVanligPeriode(MØDREKVOTE, termin, termin.plusWeeks(4), null, false, null, null, null, null)))); var resultater = fastsettPerioder(grunnlag); @@ -187,11 +195,10 @@ void fellesperiode_far_etter_uke_6_blir_innvilget_pga_oppfyller_aktivitetskravet var grunnlag = basicGrunnlagMor().datoer(new Datoer.Builder().termin(termin).fødsel(termin.plusWeeks(2))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittePerioder(List.of(OppgittPeriode.forVanligPeriode(FELLESPERIODE, termin.minusWeeks(12), - termin.minusWeeks(3).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, null), + termin.minusWeeks(3).minusDays(1), null, false, null, null, null, null), OppgittPeriode.forVanligPeriode(FORELDREPENGER_FØR_FØDSEL, termin.minusWeeks(3), termin.minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, null), - OppgittPeriode.forVanligPeriode(MØDREKVOTE, termin, termin.plusWeeks(4), null, false, - PeriodeVurderingType.IKKE_VURDERT, null, null, null)))); + null, false, null, null, null, null), + OppgittPeriode.forVanligPeriode(MØDREKVOTE, termin, termin.plusWeeks(4), null, false, null, null, null, null)))); var resultater = fastsettPerioder(grunnlag); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java index 17b22e9d..d55e6124 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java @@ -2,7 +2,7 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.kjørRegel; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_1; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static org.assertj.core.api.Assertions.assertThat; import java.math.BigDecimal; @@ -19,6 +19,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriodeAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; @@ -26,9 +27,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; @@ -92,7 +91,7 @@ class ForeldrepengerDelregelTest { void mor_aleneomsorg_før3ukerFørFødsel_disponibleDager_gradering_ikkeBareMorRett() { var familiehendelseDato = LocalDate.of(2018, 1, 1); var gradertPeriode = gradertPeriode(familiehendelseDato.minusWeeks(6), familiehendelseDato, - AktivitetIdentifikator.forFrilans(), PeriodeVurderingType.PERIODE_OK); + AktivitetIdentifikator.forFrilans(), null); var grunnlag = grunnlagMor(familiehendelseDato).søknad(søknad(gradertPeriode)) .kontoer(foreldrepengerKonto(100)) .rettOgOmsorg(new RettOgOmsorg.Builder().aleneomsorg(true).morHarRett(false)) @@ -121,25 +120,25 @@ class ForeldrepengerDelregelTest { private OppgittPeriode gradertPeriode(LocalDate fom, LocalDate tom, AktivitetIdentifikator aktivitetIdentifikator, - PeriodeVurderingType periodeVurderingType) { - return gradertPeriode(fom, tom, aktivitetIdentifikator, periodeVurderingType, null, false); + DokumentasjonVurdering dokumentasjonVurdering) { + return gradertPeriode(fom, tom, aktivitetIdentifikator, null, false, dokumentasjonVurdering); } private OppgittPeriode gradertPeriode(LocalDate fom, LocalDate tom, AktivitetIdentifikator aktivitetIdentifikator, - PeriodeVurderingType vurderingType, SamtidigUttaksprosent samtidigUttaksprosent, - boolean flerbarnsdager) { + boolean flerbarnsdager, + DokumentasjonVurdering dokumentasjonVurdering) { return OppgittPeriode.forGradering(Stønadskontotype.FORELDREPENGER, fom, tom, BigDecimal.TEN, samtidigUttaksprosent, - flerbarnsdager, Set.of(aktivitetIdentifikator), vurderingType, null, null, null); + flerbarnsdager, Set.of(aktivitetIdentifikator), null, null, null, dokumentasjonVurdering); } @Test void mor_aleneomsorg_før3ukerFørFødsel_disponibleDager_gradering_bareMorRett() { var familiehendelseDato = LocalDate.of(2018, 1, 1); var gradertPeriode = gradertPeriode(familiehendelseDato.minusWeeks(6), familiehendelseDato, - AktivitetIdentifikator.forFrilans(), PeriodeVurderingType.PERIODE_OK); + AktivitetIdentifikator.forFrilans(), null); var grunnlag = grunnlagMor(familiehendelseDato).søknad(søknad(gradertPeriode)) .rettOgOmsorg(new RettOgOmsorg.Builder().aleneomsorg(true).morHarRett(true)) .kontoer(foreldrepengerKonto(100)) @@ -155,7 +154,7 @@ private OppgittPeriode gradertPeriode(LocalDate fom, void mor_aleneomsorg_etter6ukerEtterFødsel_omsorg_disponibleDager_gradering_avklart_ikkeBareMorRett() { var familiehendelseDato = LocalDate.of(2018, 1, 1); var gradertPeriode = gradertPeriode(familiehendelseDato.plusWeeks(7), familiehendelseDato.plusWeeks(8), - AktivitetIdentifikator.forFrilans(), PeriodeVurderingType.PERIODE_OK); + AktivitetIdentifikator.forFrilans(), null); var grunnlag = grunnlagMor(familiehendelseDato).søknad(søknad(gradertPeriode)) .kontoer(foreldrepengerKonto(100)) .kontoer(foreldrepengerKonto(100)) @@ -171,8 +170,7 @@ private OppgittPeriode gradertPeriode(LocalDate fom, void mor_aleneomsorg_etter6ukerEtterFødsel_omsorg_disponibleDager_gradering_avklart_morRett() { var familiehendelseDato = LocalDate.of(2018, 1, 1); var aktivitetIdentifikator = ARBEIDSFORHOLD_1; - var gradertPeriode = gradertPeriode(familiehendelseDato.plusWeeks(7), familiehendelseDato.plusWeeks(8), aktivitetIdentifikator, - PeriodeVurderingType.PERIODE_OK); + var gradertPeriode = gradertPeriode(familiehendelseDato.plusWeeks(7), familiehendelseDato.plusWeeks(8), aktivitetIdentifikator, null); var kontoer = foreldrepengerKonto(100); var grunnlag = grunnlagMor(familiehendelseDato).søknad(søknad(gradertPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) @@ -414,7 +412,7 @@ void far_etterFamiliehendelse_aleneomsorg_medOmsorg_utenDisponibledager() { var fom = familiehendelseDato.plusWeeks(1); var tom = familiehendelseDato.plusWeeks(2); var aktivitetIdentifikator = ARBEIDSFORHOLD_1; - var gradertPeriode = gradertPeriode(fom, tom, aktivitetIdentifikator, PeriodeVurderingType.PERIODE_OK); + var gradertPeriode = gradertPeriode(fom, tom, aktivitetIdentifikator, null); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(gradertPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .kontoer(foreldrepengerKonto(100)) @@ -468,8 +466,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_farRett_utenOmsorg() { var familiehendelseDato = LocalDate.of(2018, 1, 1); var fom = familiehendelseDato.plusWeeks(4); var tom = familiehendelseDato.plusWeeks(5); - var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, false, - PeriodeVurderingType.UAVKLART_PERIODE, null, null, null); + var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, false, null, null, null, null); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .kontoer(foreldrepengerKonto(100)) .rettOgOmsorg(new RettOgOmsorg.Builder().farHarRett(true).morHarRett(false)) @@ -488,10 +485,8 @@ void far_etterFamiliehendelse_utenAleneomsorg_farRett_utenOmsorg() { var familiehendelseDato = LocalDate.of(2018, 1, 1); var fom = familiehendelseDato.plusWeeks(4); var tom = familiehendelseDato.plusWeeks(5); - var oppgittPeriode = oppgittPeriode(fom, tom, PeriodeVurderingType.PERIODE_OK); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, I_AKTIVITET)); - var søknad = søknad(oppgittPeriode).dokumentasjon(dokumentasjon); + var oppgittPeriode = oppgittPeriode(fom, tom, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var søknad = søknad(oppgittPeriode); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad) .kontoer(foreldrepengerKonto(100)) .rettOgOmsorg(new RettOgOmsorg.Builder().farHarRett(true).morHarRett(false).aleneomsorg(false)) @@ -507,10 +502,8 @@ void far_etterFamiliehendelse_utenAleneomsorg_farRett_medOmsorg_EtterUke7_medDis var familiehendelseDato = LocalDate.of(2018, 1, 1); var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(9); - var oppgittPeriode = oppgittPeriode(fom, tom); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, I_AKTIVITET)); - var søknad = søknad(oppgittPeriode).dokumentasjon(dokumentasjon); + var oppgittPeriode = oppgittPeriode(fom, tom, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var søknad = søknad(oppgittPeriode); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad) .kontoer(foreldrepengerKonto(100)) .rettOgOmsorg(new RettOgOmsorg.Builder().farHarRett(true).morHarRett(false)) @@ -526,11 +519,8 @@ void far_etterFamiliehendelse_utenAleneomsorg_farRett_medOmsorg_EtterUke7_medDis var familiehendelseDato = LocalDate.of(2018, 1, 1); var fom = familiehendelseDato.plusWeeks(4); var tom = familiehendelseDato.plusWeeks(5); - var gradertPeriode = gradertPeriode(fom, tom, AktivitetIdentifikator.forFrilans(), PeriodeVurderingType.PERIODE_OK); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, I_AKTIVITET)); - var søknad = søknad(gradertPeriode) - .dokumentasjon(dokumentasjon); + var gradertPeriode = gradertPeriode(fom, tom, AktivitetIdentifikator.forFrilans(), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var søknad = søknad(gradertPeriode); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad) .kontoer(foreldrepengerKonto(100)) .rettOgOmsorg(new RettOgOmsorg.Builder().farHarRett(true).morHarRett(false)) @@ -547,12 +537,9 @@ void far_etterFamiliehendelse_utenAleneomsorg_farRett_medOmsorg_EtterUke7_medDis var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(9); var aktivitetIdentifikator = ARBEIDSFORHOLD_1; - var gradertPeriode = gradertPeriode(fom, tom, aktivitetIdentifikator, PeriodeVurderingType.PERIODE_OK); + var gradertPeriode = gradertPeriode(fom, tom, aktivitetIdentifikator, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var kontoer = foreldrepengerKonto(100); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, I_AKTIVITET)); - var søknad = søknad(gradertPeriode) - .dokumentasjon(dokumentasjon); + var søknad = søknad(gradertPeriode); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .kontoer(kontoer) @@ -569,11 +556,8 @@ void far_etterFamiliehendelse_utenAleneomsorg_farRett_medOmsorg_EtterUke7_medDis var familiehendelseDato = LocalDate.of(2018, 1, 1); var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(9); - var oppgittPeriode = oppgittPeriode(fom, tom); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, I_AKTIVITET)); - var søknad = søknad(oppgittPeriode) - .dokumentasjon(dokumentasjon); + var oppgittPeriode = oppgittPeriode(fom, tom, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var søknad = søknad(oppgittPeriode); var arbeid = new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(AktivitetIdentifikator.forFrilans())) .arbeidsforhold(new Arbeidsforhold(AktivitetIdentifikator.forSelvstendigNæringsdrivende())); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad) @@ -616,8 +600,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett() { var familiehendelseDato = LocalDate.now().minusMonths(2); var fom = familiehendelseDato.plusWeeks(1); var tom = familiehendelseDato.plusWeeks(3); - var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, true, - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, true, null, null, null, null); var kontoer = foreldrepengerOgFlerbarnsdagerKonto(40, 17); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -636,7 +619,8 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_medDisponib var fom = familiehendelseDato.plusWeeks(1); var tom = familiehendelseDato.plusWeeks(3); var aktivitetIdentifikator = AktivitetIdentifikator.forFrilans(); - var gradertPeriode = gradertPeriode(fom, tom, aktivitetIdentifikator, PeriodeVurderingType.PERIODE_OK, null, true); + var gradertPeriode = gradertPeriode(fom, tom, aktivitetIdentifikator, null, true, + MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var kontoer = foreldrepengerOgFlerbarnsdagerKonto(40, 17); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(gradertPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -654,8 +638,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var familiehendelseDato = LocalDate.now().minusMonths(2); var fom = familiehendelseDato.plusWeeks(1); var tom = familiehendelseDato.plusWeeks(3); - var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, true, - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, true, null, null, null, null); var kontoer = foreldrepengerOgFlerbarnsdagerKonto(100, 0); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .kontoer(kontoer) @@ -674,8 +657,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var familiehendelseDato = LocalDate.now().minusMonths(2); var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(10); - var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, false, - PeriodeVurderingType.IKKE_VURDERT, familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE); + var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, false, familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE, null); var kontoer = foreldrepengerKonto(40).minsterettDager(10); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -694,7 +676,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(10); var oppgittPeriode = OppgittPeriode.forGradering(Stønadskontotype.FORELDREPENGER, fom, tom, BigDecimal.TEN, SamtidigUttaksprosent.ZERO, false, - Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE); + Set.of(ARBEIDSFORHOLD_1), familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE, null); var kontoer = foreldrepengerKonto(40).minsterettDager(10); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -712,8 +694,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var familiehendelseDato = LocalDate.now().minusMonths(2); var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(10); - var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, false, - PeriodeVurderingType.IKKE_VURDERT, familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE); + var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, null, false, familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE, null); var kontoer = foreldrepengerKonto(40).utenAktivitetskravDager(10); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -732,7 +713,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var fom = familiehendelseDato.plusWeeks(8); var tom = familiehendelseDato.plusWeeks(10); var oppgittPeriode = OppgittPeriode.forGradering(Stønadskontotype.FORELDREPENGER, fom, tom, BigDecimal.TEN, SamtidigUttaksprosent.ZERO, false, - Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE); + Set.of(ARBEIDSFORHOLD_1), familiehendelseDato, familiehendelseDato, MorsAktivitet.UFØRE, null); var kontoer = foreldrepengerKonto(40).utenAktivitetskravDager(10); var grunnlag = grunnlagFar(familiehendelseDato).søknad(søknad(oppgittPeriode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) @@ -843,10 +824,10 @@ private Kontoer.Builder foreldrepengerOgFlerbarnsdagerKonto(int foreldrepengerTr } private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom) { - return oppgittPeriode(fom, tom, PeriodeVurderingType.IKKE_VURDERT); + return oppgittPeriode(fom, tom, null); } - private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurderingType vurderingType) { - return DelRegelTestUtil.oppgittPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, vurderingType); + private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, DokumentasjonVurdering dokumentasjonVurdering) { + return DelRegelTestUtil.oppgittPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, dokumentasjonVurdering); } } diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java index 593027fd..f7929743 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java @@ -20,9 +20,29 @@ import java.util.List; import java.util.Set; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Adopsjon; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriodeAktivitet; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UtsettelseÅrsak; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Vedtak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.GraderingIkkeInnvilgetÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak; @@ -117,7 +137,7 @@ void samtidig_uttaksprosent_skal_settes_til_100_minus_gradering_arbeidstidsprose var samtidigUttaksprosent = new SamtidigUttaksprosent(50); var gradertMedSamtidigUttak = OppgittPeriode.forGradering(FELLESPERIODE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(8).minusDays(1), arbeidstidsprosent, samtidigUttaksprosent, false, Set.of(ARBEIDSFORHOLD_1), - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + null, null, null, null); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER_FØR_FØDSEL, 15)) .konto(konto(MØDREKVOTE, 50)) .konto(konto(FEDREKVOTE, 50)) @@ -254,7 +274,7 @@ void utbetalingsgrad_og_trekkdager_skal_ta_utgangspunkt_samtidig_uttaksprosent_f //10 virkedager var gradertMedSamtidigUttak = OppgittPeriode.forGradering(FELLESPERIODE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(8).minusDays(1), arbeidstidsprosent, samtidigUttaksprosent, false, Set.of(ARBEIDSFORHOLD_1), - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + null, null, null, null); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER_FØR_FØDSEL, 15)) .konto(konto(MØDREKVOTE, 50)) .konto(konto(FEDREKVOTE, 50)) @@ -653,7 +673,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { .oppgittPeriode(gradertoppgittPeriode(FEDREKVOTE, LocalDate.of(2019, 5, 3), LocalDate.of(2019, 7, 5), BigDecimal.valueOf(60))) .oppgittPeriode( - utsettelsePeriode(LocalDate.of(2019, 7, 8), LocalDate.of(2019, 7, 26), UtsettelseÅrsak.FERIE)) + utsettelsePeriode(LocalDate.of(2019, 7, 8), LocalDate.of(2019, 7, 26), UtsettelseÅrsak.FERIE, null)) .oppgittPeriode(gradertoppgittPeriode(FEDREKVOTE, LocalDate.of(2019, 7, 29), LocalDate.of(2020, 2, 13), BigDecimal.valueOf(60)))) .inngangsvilkår(oppfyltAlleVilkår()); @@ -676,7 +696,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { leggPåKvoter(grunnlag); var mottattDato = fødselsdato.plusWeeks(8).minusDays(1); var gradering = OppgittPeriode.forGradering(MØDREKVOTE, fødselsdato.plusWeeks(6), mottattDato.plusWeeks(1), BigDecimal.TEN, - null, false, Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, mottattDato, mottattDato, null); + null, false, Set.of(ARBEIDSFORHOLD_1), mottattDato, mottattDato, null, null); grunnlag.datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) .behandling(morBehandling()) @@ -699,7 +719,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { var senestMottattDato = fødselsdato.plusWeeks(8).minusDays(1); var tidligstMottattDato = fødselsdato.plusWeeks(6); var gradering = OppgittPeriode.forGradering(MØDREKVOTE, fødselsdato.plusWeeks(6), senestMottattDato.plusWeeks(1), BigDecimal.TEN, - null, false, Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, senestMottattDato, tidligstMottattDato, null); + null, false, Set.of(ARBEIDSFORHOLD_1), senestMottattDato, tidligstMottattDato, null, null); grunnlag.datoer(new Datoer.Builder() .fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) @@ -720,7 +740,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { var mottattDato = fødselsdato.plusWeeks(8).minusDays(1); var kontoer = new Kontoer.Builder().konto(konto(MØDREKVOTE, 200)); var gradering = OppgittPeriode.forGradering(MØDREKVOTE, fødselsdato.plusWeeks(6), mottattDato.plusWeeks(1), BigDecimal.TEN, - null, false, Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, mottattDato, mottattDato, null); + null, false, Set.of(ARBEIDSFORHOLD_1), mottattDato, mottattDato, null, null); grunnlag.datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1)) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java index 560d350e..696dbf75 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java @@ -20,10 +20,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Medlemskap; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedHV; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedTiltakIRegiAvNav; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -142,7 +139,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperStart1() { AnnenpartUttakPeriode.Builder.uttak(uttakStartdato, uttakStartdato.plusDays(10)).build())) .søknad(new Søknad.Builder().oppgittPeriode( OppgittPeriode.forVanligPeriode(Stønadskontotype.FELLESPERIODE, knekkdato, uttakStartdato.plusDays(10), - SamtidigUttaksprosent.TEN, true, PeriodeVurderingType.IKKE_VURDERT, null, null, null))) + SamtidigUttaksprosent.TEN, true, null, null, null, null))) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .build(); @@ -162,7 +159,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperStart2() { AnnenpartUttakPeriode.Builder.uttak(uttakStartdato.plusDays(1), uttakStartdato.plusDays(10)).build())) .søknad(new Søknad.Builder().oppgittPeriode( OppgittPeriode.forVanligPeriode(Stønadskontotype.FELLESPERIODE, uttakStartdato, knekkdato, - SamtidigUttaksprosent.TEN, true, PeriodeVurderingType.IKKE_VURDERT, null, null, null))) + SamtidigUttaksprosent.TEN, true, null, null, null, null))) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .build(); @@ -182,7 +179,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperMidtI() { AnnenpartUttakPeriode.Builder.uttak(uttakStartdato.plusDays(1), uttakStartdato.plusDays(5)).build())) .søknad(new Søknad.Builder().oppgittPeriode( OppgittPeriode.forVanligPeriode(Stønadskontotype.FELLESPERIODE, uttakStartdato, uttakStartdato.plusDays(6), - SamtidigUttaksprosent.TEN, true, PeriodeVurderingType.IKKE_VURDERT, null, null, null))) + SamtidigUttaksprosent.TEN, true, null, null, null, null))) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .build(); @@ -207,7 +204,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri AnnenpartUttakPeriode.Builder.uttak(annenPartPeriodeFom, annenPartPeriodeTom).build())) .søknad(new Søknad.Builder().oppgittPeriode( OppgittPeriode.forVanligPeriode(Stønadskontotype.FELLESPERIODE, stønadsperiodeFom, stønadsperiodeTom, - SamtidigUttaksprosent.TEN, true, PeriodeVurderingType.IKKE_VURDERT, null, null, null))) + SamtidigUttaksprosent.TEN, true, null, null, null, null))) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .build(); @@ -223,7 +220,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri var gradertArbeidsforhold = AktivitetIdentifikator.forFrilans(); var gradertStønadsperiode = OppgittPeriode.forGradering(Stønadskontotype.FELLESPERIODE, mottattdato.minusMonths(1), mottattdato.minusWeeks(2), BigDecimal.valueOf(30), null, false, Set.of(gradertArbeidsforhold), - PeriodeVurderingType.IKKE_VURDERT, mottattdato, mottattdato, null); + mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .revurdering(new Revurdering.Builder().endringsdato(LocalDate.of(2018, 5, 5))) @@ -242,7 +239,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri var gradertArbeidsforhold = AktivitetIdentifikator.forFrilans(); var gradertStønadsperiode = OppgittPeriode.forGradering(Stønadskontotype.MØDREKVOTE, mottattdato.minusMonths(1), mottattdato.minusWeeks(2), BigDecimal.valueOf(30), null, false, Set.of(gradertArbeidsforhold), - PeriodeVurderingType.IKKE_VURDERT, mottattdato, mottattdato, null); + mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .behandling(new Behandling.Builder()) @@ -259,7 +256,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri var mottattdato = LocalDate.of(2018, 10, 10); var gradertArbeidsforhold = AktivitetIdentifikator.forFrilans(); var gradering = OppgittPeriode.forGradering(Stønadskontotype.MØDREKVOTE, mottattdato, mottattdato.plusWeeks(2), - BigDecimal.valueOf(30), null, false, Set.of(gradertArbeidsforhold), PeriodeVurderingType.IKKE_VURDERT, mottattdato, mottattdato, null); + BigDecimal.valueOf(30), null, false, Set.of(gradertArbeidsforhold), mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .revurdering(new Revurdering.Builder().endringsdato(LocalDate.of(2018, 5, 5))) @@ -276,7 +273,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri var mottattdato = LocalDate.of(2018, 10, 10); var gradertArbeidsforhold = AktivitetIdentifikator.forFrilans(); var gradering = OppgittPeriode.forGradering(Stønadskontotype.MØDREKVOTE, mottattdato.plusWeeks(1), mottattdato.plusWeeks(2), - BigDecimal.valueOf(30), null, false, Set.of(gradertArbeidsforhold), PeriodeVurderingType.IKKE_VURDERT, mottattdato, mottattdato, null); + BigDecimal.valueOf(30), null, false, Set.of(gradertArbeidsforhold), mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .revurdering(new Revurdering.Builder().endringsdato(LocalDate.of(2018, 5, 5))) @@ -292,7 +289,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri void finnerKnekkPåEndringssøknadMottattdatoHvisUtsettelseFerieArbeidStarterFørMottattdato() { var mottattdato = LocalDate.of(2018, 10, 10); var utsettelse = OppgittPeriode.forUtsettelse(mottattdato.minusWeeks(2), mottattdato.minusWeeks(1), - UtsettelseÅrsak.FERIE, mottattdato, mottattdato, null); + UtsettelseÅrsak.FERIE, mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .revurdering(new Revurdering.Builder().endringsdato(LocalDate.of(2018, 5, 5))) @@ -309,7 +306,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri void finnerKnekkPåFørstegangssøknadMottattdatoHvisUtsettelseFerieArbeidStarterFørMottattdato() { var mottattdato = LocalDate.of(2018, 10, 10); var utsettelse = OppgittPeriode.forUtsettelse(mottattdato.minusWeeks(2), mottattdato.minusWeeks(1), - UtsettelseÅrsak.FERIE, mottattdato, mottattdato, null); + UtsettelseÅrsak.FERIE, mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .søknad(new Søknad.Builder().oppgittPeriode(utsettelse)) @@ -325,7 +322,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri void finnerKnekkPåEndringssøknadMottattdatoHvisUtsettelseFerieArbeidStarterPåMottattdato() { var mottattdato = LocalDate.of(2018, 10, 10); var utsettelse = OppgittPeriode.forUtsettelse(mottattdato, mottattdato.plusWeeks(2), - UtsettelseÅrsak.ARBEID, mottattdato, mottattdato, null); + UtsettelseÅrsak.ARBEID, mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .revurdering(new Revurdering.Builder().endringsdato(LocalDate.of(2018, 5, 5))) @@ -341,7 +338,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri void finnerIkkeKnekkPåEndringssøknadMottattdatoHvisUtsettelseFerieArbeidStarterEtterMottattdato() { var mottattdato = LocalDate.of(2018, 10, 10); var utsettelse = OppgittPeriode.forUtsettelse(mottattdato.plusWeeks(1), mottattdato.plusWeeks(2), - UtsettelseÅrsak.FERIE, mottattdato, mottattdato, null); + UtsettelseÅrsak.FERIE, mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .revurdering(new Revurdering.Builder().endringsdato(LocalDate.of(2018, 5, 5))) @@ -359,7 +356,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri var tom = LocalDate.of(2019, 5, 25); var grunnlag = RegelGrunnlagTestBuilder.create() .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(OppgittPeriode.forUtsettelse(fødselsdato, tom, UtsettelseÅrsak.FERIE, null, null, null))) + .oppgittPeriode(OppgittPeriode.forUtsettelse(fødselsdato, tom, UtsettelseÅrsak.FERIE, null, null, null, null))) .datoer(datoer(fødselsdato)) .build(); @@ -418,48 +415,15 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri assertThat(knekkpunkter).doesNotContain(startdato); } - @Test - void skal_knekke_på_dokument_hv() { - var fødselsdato = LocalDate.of(2020, 10, 1); - var dokFom = LocalDate.of(2020, 10, 10); - var dokTom = LocalDate.of(2020, 10, 15); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().dokumentasjon( - new Dokumentasjon.Builder().periodeMedHV(new PeriodeMedHV(dokFom, dokTom))).type(Søknadstype.FØDSEL)) - .datoer(datoer(fødselsdato)) - .build(); - - var knekkpunkter = KnekkpunktIdentifiserer.finnKnekkpunkter(grunnlag); - - assertThat(knekkpunkter).contains(dokFom, dokTom.plusDays(1)); - } - - @Test - void skal_knekke_på_tiltak_nav() { - var fødselsdato = LocalDate.of(2020, 10, 1); - var dokFom = LocalDate.of(2020, 10, 10); - var dokTom = LocalDate.of(2020, 10, 15); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().dokumentasjon( - new Dokumentasjon.Builder().periodeMedTiltakViaNav(new PeriodeMedTiltakIRegiAvNav(dokFom, dokTom))) - .type(Søknadstype.FØDSEL)) - .datoer(datoer(fødselsdato)) - .build(); - - var knekkpunkter = KnekkpunktIdentifiserer.finnKnekkpunkter(grunnlag); - - assertThat(knekkpunkter).contains(dokFom, dokTom.plusDays(1)); - } - @Test void skal_knekke_på_første_lovlige_uttaksdag_for_hver_søknadsperiode_der_første_lovlige_uttaksdag_overlapper_med_periode() { var fødselsdato = LocalDate.of(2020, 7, 20); var mottattDatoPeriode1 = LocalDate.of(2020, 11, 1); var mottattDatoPeriode2 = LocalDate.of(2021, 2, 1); var periode1 = OppgittPeriode.forVanligPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato, LocalDate.of(2020, 11, 15), null, - false, PeriodeVurderingType.IKKE_VURDERT, mottattDatoPeriode1, mottattDatoPeriode1, null); + false, mottattDatoPeriode1, mottattDatoPeriode1, null, null); var periode2 = OppgittPeriode.forVanligPeriode(Stønadskontotype.MØDREKVOTE, LocalDate.of(2020, 11, 16), - LocalDate.of(2020, 12, 15), null, false, PeriodeVurderingType.IKKE_VURDERT, mottattDatoPeriode2, mottattDatoPeriode2, null); + LocalDate.of(2020, 12, 15), null, false, mottattDatoPeriode2, mottattDatoPeriode2, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .søknad(new Søknad.Builder().oppgittePerioder(List.of(periode1, periode2)).type(Søknadstype.FØDSEL)) .datoer(datoer(fødselsdato)) @@ -493,7 +457,7 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri void ikkeKnekkPåMottattDatoForFriUtsettelse() { var mottattdato = LocalDate.of(2018, 10, 10); var utsettelse = OppgittPeriode.forUtsettelse(mottattdato.minusWeeks(2), mottattdato.minusWeeks(1), - UtsettelseÅrsak.FRI, mottattdato, mottattdato, null); + UtsettelseÅrsak.FRI, mottattdato, mottattdato, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(new Datoer.Builder().fødsel(LocalDate.of(2018, 5, 5))) .søknad(new Søknad.Builder().oppgittPeriode(utsettelse)) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktOrkestreringTest.java index 4aba0716..2b501d62 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktOrkestreringTest.java @@ -15,13 +15,11 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedSykdomEllerSkade; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -219,17 +217,14 @@ void riktig_knekk_ved_tom_for_dager_ifm_helg2() { .konto(new Konto.Builder().type(FELLESPERIODE).trekkdager(90)).konto(new Konto.Builder().type(FORELDREPENGER_FØR_FØDSEL).trekkdager(15)) .farUttakRundtFødselDager(10); var overføring = OppgittPeriode.forOverføring(MØDREKVOTE, LocalDate.of(2022, 9, 26), LocalDate.of(2023, 2, 3), - OverføringÅrsak.SYKDOM_ELLER_SKADE, LocalDate.of(2022, 8, 22), LocalDate.of(2022, 8, 22)); + OverføringÅrsak.SYKDOM_ELLER_SKADE, LocalDate.of(2022, 8, 22), LocalDate.of(2022, 8, 22), DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var grunnlag = basicGrunnlag(termindato) .behandling(farBehandling()) .rettOgOmsorg(beggeRett()) .datoer(new Datoer.Builder().termin(termindato)) .søknad(new Søknad.Builder().type(Søknadstype.TERMIN) .oppgittPeriode(oppgittPeriode(FEDREKVOTE, LocalDate.of(2022, 9, 12), LocalDate.of(2022, 9, 23))) - .oppgittPeriode(overføring) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedSykdomEllerSkade( - new PeriodeMedSykdomEllerSkade(overføring.getFom(), overføring.getTom())) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(overføring.getFom(), overføring.getTom())))) + .oppgittPeriode(overføring)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(AktivitetIdentifikator.forSelvstendigNæringsdrivende()))) .kontoer(kontoer); diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktOrkestreringTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktOrkestreringTest.java" index ed2b5b43..8beec7d1 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktOrkestreringTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktOrkestreringTest.java" @@ -3,6 +3,7 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator.forArbeid; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator.forFrilans; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator.forSelvstendigNæringsdrivende; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.AVSLÅTT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.INNVILGET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; @@ -20,17 +21,13 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriodeAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Orgnummer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -95,10 +92,8 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { new FastsattUttakPeriodeAktivitet(new Trekkdager(0), FORELDREPENGER, forSelvstendigNæringsdrivende()))) .periodeResultatType(INNVILGET); //SKal gå tom for dager på frilans før aktiviteten med sn - var periodeMedAvklartMorsAktivitet = aktivitetAvklart(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(100)); var søknad = søknad(FØDSEL, - oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(100), fødselsdato.plusWeeks(100))) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet(periodeMedAvklartMorsAktivitet)); + oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(100), fødselsdato.plusWeeks(100), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET)); var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad) .kontoer(kontoer) .arbeid(arbeid) @@ -122,7 +117,6 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { var tilkommetArbeidsforhold = forArbeid(new Orgnummer("000000001"), "1234"); var startdatoNyttArbeidsforhold = fødselsdato.plusWeeks(12); - var dok = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet(aktivitetAvklart(fødselsdato, fødselsdato.plusWeeks(20))); var grunnlag = RegelGrunnlagTestBuilder.create() .arbeid(new Arbeid.Builder() .arbeidsforhold(new Arbeidsforhold(arbeidsforhold)) @@ -132,8 +126,8 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { .datoer(new Datoer.Builder().fødsel(fødselsdato)) .behandling(farBehandling()) .rettOgOmsorg(bareFarRett()) - .søknad(new Søknad.Builder().type(FØDSEL).dokumentasjon(dok) - .oppgittPeriode(oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(15).minusDays(1)))); + .søknad(new Søknad.Builder().type(FØDSEL) + .oppgittPeriode(oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(15).minusDays(1), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET))); var perioder = fastsettPerioder(grunnlag); @@ -262,12 +256,10 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { } @Test - void bfhr_eneste_periode_er_første_6_ukene_skal_gå_til_manuell() { + void bfhr_eneste_periode_er_første_6_ukene_skal_innvilges() { var fødselsdato = LocalDate.of(2021, 10, 11); var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, - oppgittPeriode(FORELDREPENGER, fødselsdato, fødselsdato.plusWeeks(4))) - .dokumentasjon(new Dokumentasjon.Builder() - .gyldigGrunnPeriode(new GyldigGrunnPeriode(fødselsdato, fødselsdato.plusWeeks(4)))) + OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato, fødselsdato.plusWeeks(4), null, false, fødselsdato, fødselsdato, MorsAktivitet.SYK, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET)) ) .kontoer(kontoer(konto(FORELDREPENGER, 100))) .rettOgOmsorg(bareFarRett()) @@ -275,22 +267,19 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { var perioder = fastsettPerioder(grunnlag); assertThat(perioder).hasSize(1); - assertThat(perioder.get(0).getUttakPeriode().getManuellbehandlingårsak()).isNotNull(); + assertThat(perioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(INNVILGET); } @Test void bfhr_msp_skal_ikke_avslås_pga_tom_på_konto_hvis_dager_igjen_på_minsteretten() { var fødselsdato = LocalDate.of(2022, 6, 15); var fpFørMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), - fødselsdato.plusWeeks(7).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - MorsAktivitet.UTDANNING); + fødselsdato.plusWeeks(7).minusDays(1), null, false, fødselsdato, fødselsdato, + MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var fpEtterMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(8), - fødselsdato.plusWeeks(9).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(aktivitetAvklart(fpFørMsp.getFom(), fpFørMsp.getTom()))) - ) + fødselsdato.plusWeeks(9).minusDays(1), null, false, fødselsdato, fødselsdato, + null, null); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp)) .kontoer(kontoer(konto(FORELDREPENGER, 10)).minsterettDager(5)) .rettOgOmsorg(bareFarRett()) .build(); @@ -307,15 +296,12 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { void bfhr_msp_skal_avslås_pga_tom_på_konto_hvis_ikke_dager_igjen_på_fp_men_ubrukte_minsterett() { var fødselsdato = LocalDate.of(2022, 6, 15); var fpFørMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), - fødselsdato.plusWeeks(7).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - MorsAktivitet.UTDANNING); + fødselsdato.plusWeeks(7).minusDays(1), null, false, fødselsdato, fødselsdato, + MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var fpEtterMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(8), - fødselsdato.plusWeeks(9).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(aktivitetAvklart(fpFørMsp.getFom(), fpFørMsp.getTom()))) - ) + fødselsdato.plusWeeks(9).minusDays(1), null, false, fødselsdato, fødselsdato, + null, null); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp)) .kontoer(kontoer(konto(FORELDREPENGER, 5)).minsterettDager(5)) .rettOgOmsorg(bareFarRett()) .build(); @@ -332,15 +318,12 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { void bfhr_msp_skal_avslås_pga_tom_på_konto_hvis_dager_igjen_på_minsteretten_men_brukt_alle_dager_foreldrepenger() { var fødselsdato = LocalDate.of(2022, 6, 15); var fpFørMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), - fødselsdato.plusWeeks(10).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - MorsAktivitet.UTDANNING); + fødselsdato.plusWeeks(10).minusDays(1), null, false, fødselsdato, fødselsdato, + MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var fpEtterMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(11), - fødselsdato.plusWeeks(12).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(aktivitetAvklart(fpFørMsp.getFom(), fpFørMsp.getTom()))) - ) + fødselsdato.plusWeeks(12).minusDays(1), null, false, fødselsdato, fødselsdato, + null, null); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp)) .kontoer(kontoer(konto(FORELDREPENGER, 20)).minsterettDager(5)) .rettOgOmsorg(bareFarRett()) .build(); @@ -357,15 +340,12 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { void bfhr_msp_skal_ikke_avslås_pga_tom_på_konto_hvis_flere_dager_igjen_på_minsteretten_enn_foreldrepenger() { var fødselsdato = LocalDate.of(2022, 6, 15); var fpFørMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), - fødselsdato.plusWeeks(10).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - MorsAktivitet.UTDANNING); + fødselsdato.plusWeeks(10).minusDays(1), null, false, fødselsdato, fødselsdato, + MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var fpEtterMsp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(11), - fødselsdato.plusWeeks(12).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(aktivitetAvklart(fpFørMsp.getFom(), fpFørMsp.getTom()))) - ) + fødselsdato.plusWeeks(12).minusDays(1), null, false, fødselsdato, fødselsdato, + null, null); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(søknad(FØDSEL, fpFørMsp, fpEtterMsp)) .kontoer(kontoer(konto(FORELDREPENGER, 30)).minsterettDager(20)) .rettOgOmsorg(bareFarRett()) .build(); @@ -470,9 +450,4 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { assertThat(perioder.get(4).getUttakPeriode().getUtbetalingsgrad(aktivitet)).isEqualTo(Utbetalingsgrad.ZERO); } - private PeriodeMedAvklartMorsAktivitet aktivitetAvklart(LocalDate fom, LocalDate tom) { - return new PeriodeMedAvklartMorsAktivitet(fom, tom, - PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET); - } - } diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktPeriodeUtilTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktPeriodeUtilTest.java" index ec711fb4..8f5fddc3 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktPeriodeUtilTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktPeriodeUtilTest.java" @@ -10,7 +10,6 @@ import org.junit.jupiter.api.Test; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.felles.grunnlag.LukketPeriode; class ManglendeSøktPeriodeUtilTest { @@ -36,8 +35,8 @@ class ManglendeSøktPeriodeUtilTest { } private OppgittPeriode periode(LocalDate fom, LocalDate tom) { - return OppgittPeriode.forVanligPeriode(MØDREKVOTE, fom, tom, null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, - null); + return OppgittPeriode.forVanligPeriode(MØDREKVOTE, fom, tom, null, false, null, null, + null, null); } @Test diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" index 9addf999..cf9620a7 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" @@ -1,24 +1,36 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.MANUELL_BEHANDLING; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype.FØDSEL; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER_FØR_FØDSEL; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.MØDREKVOTE; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype.FØDSEL; import static org.assertj.core.api.Assertions.assertThat; import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; -import java.util.stream.Collectors; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriodeAktivitet; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Orgnummer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Vedtak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.InnvilgetÅrsak; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.Manuellbehandlingårsak; class ManglendeSøktSammenhengendeUttakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBase { @@ -55,13 +67,11 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { @Test void skal_avslå_og_trekke_foreldrepenger_for_far_med_enerett_hvis_dager_igjen() { var fødselsdato = LocalDate.of(2019, 9, 3); - var oppgittPeriode = oppgittPeriode(Stønadskontotype.FORELDREPENGER, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12)); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(oppgittPeriode.getFom(), oppgittPeriode.getTom(), I_AKTIVITET)); + var oppgittPeriode = oppgittPeriode(Stønadskontotype.FORELDREPENGER, fødselsdato.plusWeeks(10), + fødselsdato.plusWeeks(12), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var søknad = søknad(Søknadstype.FØDSEL, //manglende søkt blir opprettet før foreldrepenger-perioder - oppgittPeriode) - .dokumentasjon(dokumentasjon); + oppgittPeriode); var grunnlag = basicGrunnlagFarSammenhengendeUttak(fødselsdato) .rettOgOmsorg(bareFarRett()) .søknad(søknad) @@ -260,124 +270,10 @@ private RegelGrunnlag.Builder basicGrunnlagMorSammenhengendeUttak(LocalDate fød assertThat(perioder.get(2).getUttakPeriode().getStønadskontotype()).isEqualTo(FORELDREPENGER); } - @Test - void delvisUgyldigUtsattMødrekvote() { - var fødselsdato = LocalDate.of(2018, 1, 8); - var gyldigUtsettelseStart = fødselsdato.plusDays(5); - var gyldigUtsettelseSlutt = fødselsdato.plusDays(10); - - var søknad = new Søknad.Builder() - .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) - .oppgittPeriode(oppgittPeriode(MØDREKVOTE, gyldigUtsettelseSlutt.plusDays(1), fødselsdato.plusWeeks(6).minusDays(1))) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode(new GyldigGrunnPeriode(gyldigUtsettelseStart, gyldigUtsettelseSlutt))); - var grunnlag = basicGrunnlagMorSammenhengendeUttak(fødselsdato) - .datoer(datoer(fødselsdato)) - .rettOgOmsorg(beggeRett()) - .søknad(søknad); - - var resultat = fastsettPerioder(grunnlag); - var uttakPerioder = resultat.stream().map(FastsettePeriodeResultat::getUttakPeriode).collect(Collectors.toList()); - - assertThat(uttakPerioder).hasSize(4); - - // Første del av msp blir manuell behandling - var ugyldigUtsattPeriode = uttakPerioder.get(1); - assertThat(ugyldigUtsattPeriode.getPerioderesultattype()).isEqualTo(MANUELL_BEHANDLING); - assertThat(ugyldigUtsattPeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.HULL_MELLOM_FORELDRENES_PERIODER); - assertThat(ugyldigUtsattPeriode.getFom()).isEqualTo(fødselsdato); - assertThat(ugyldigUtsattPeriode.getTom()).isEqualTo(fødselsdato.plusDays(4)); - assertThat(ugyldigUtsattPeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - - var gyldigUtsattPeriode = uttakPerioder.get(2); - assertThat(gyldigUtsattPeriode.getPerioderesultattype()).isEqualTo(MANUELL_BEHANDLING); - assertThat(gyldigUtsattPeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.HULL_MELLOM_FORELDRENES_PERIODER); - assertThat(gyldigUtsattPeriode.getFom()).isEqualTo(gyldigUtsettelseStart); - assertThat(gyldigUtsattPeriode.getTom()).isEqualTo(gyldigUtsettelseSlutt); - assertThat(gyldigUtsattPeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - - var innvilgetUttakPeriode = uttakPerioder.get(3); - assertThat(innvilgetUttakPeriode.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(innvilgetUttakPeriode.getManuellbehandlingårsak()).isNull(); - assertThat(innvilgetUttakPeriode.getFom()).isEqualTo(gyldigUtsettelseSlutt.plusDays(1)); - assertThat(innvilgetUttakPeriode.getTom()).isEqualTo(fødselsdato.plusWeeks(6).minusDays(1)); - assertThat(innvilgetUttakPeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - } - private Datoer.Builder datoer(LocalDate fødselsdato) { return new Datoer.Builder().fødsel(fødselsdato); } - @Test - void mødrekvoteMedUtsattOppstartUtenGyldigGrunnSkalTrekkeDagerPåSaldo() { - var fødselsdato = LocalDate.of(2018, 1, 8); - var sluttGyldigUtsattPeriode = fødselsdato.plusDays(6); - var startUgyldigPeriode = fødselsdato.plusDays(7); - var sluttUgyldigPeriode = startUgyldigPeriode.plusDays(4); - - var grunnlag = basicGrunnlagMorSammenhengendeUttak(fødselsdato) - .datoer(datoer(fødselsdato)) - .rettOgOmsorg(beggeRett()) - .søknad(new Søknad.Builder().oppgittPeriode( - oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) - .oppgittPeriode( - oppgittPeriode(MØDREKVOTE, sluttUgyldigPeriode.plusDays(1), sluttUgyldigPeriode.plusWeeks(10))) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(fødselsdato, sluttGyldigUtsattPeriode)))); - - var fastsettePeriodeGrunnlag = grunnlag.build(); - var resultat = fastsettPerioder(fastsettePeriodeGrunnlag); - var uttakPerioder = resultat.stream().map(FastsettePeriodeResultat::getUttakPeriode).collect(Collectors.toList()); - assertThat(uttakPerioder).hasSize(6); - - /* FPFF blir innvilget. */ - var foreldrepengerFørFødselPeriode = uttakPerioder.get(0); - assertThat(foreldrepengerFørFødselPeriode.getFom()).isEqualTo(fødselsdato.minusWeeks(3)); - assertThat(foreldrepengerFørFødselPeriode.getTom()).isEqualTo(fødselsdato.minusDays(1)); - assertThat(foreldrepengerFørFødselPeriode.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(foreldrepengerFørFødselPeriode.getStønadskontotype()).isEqualTo(FORELDREPENGER_FØR_FØDSEL); - - - /* Første del av opphold-perioden er gyldig utsettelse, men skal likevel behandles manuelt. */ - var gyldigUtsettelsePeriode = uttakPerioder.get(1); - assertThat(gyldigUtsettelsePeriode.getTom()).isEqualTo(sluttGyldigUtsattPeriode); - assertThat(gyldigUtsettelsePeriode.getFom()).isEqualTo(fødselsdato); - assertThat(gyldigUtsettelsePeriode.getPerioderesultattype()).isEqualTo(MANUELL_BEHANDLING); - assertThat(gyldigUtsettelsePeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(gyldigUtsettelsePeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.HULL_MELLOM_FORELDRENES_PERIODER); - - - var ugyldigUtsettelsePeriode = uttakPerioder.get(2); - assertThat(ugyldigUtsettelsePeriode.getFom()).isEqualTo(sluttGyldigUtsattPeriode.plusDays(1)); - assertThat(ugyldigUtsettelsePeriode.getTom()).isEqualTo(sluttUgyldigPeriode); - assertThat(ugyldigUtsettelsePeriode.getPerioderesultattype()).isEqualTo(MANUELL_BEHANDLING); - assertThat(ugyldigUtsettelsePeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(ugyldigUtsettelsePeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.HULL_MELLOM_FORELDRENES_PERIODER); - - /* Splittes ved knekkpunkt ved 6 uker pga regelflyt */ - var uttakPeriode1 = uttakPerioder.get(3); - assertThat(uttakPeriode1.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(uttakPeriode1.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(uttakPeriode1.getFom()).isEqualTo(sluttUgyldigPeriode.plusDays(1)); - assertThat(uttakPeriode1.getTom()).isEqualTo(fødselsdato.plusWeeks(6).minusDays(1)); - assertThat(uttakPeriode1.getManuellbehandlingårsak()).isNull(); - - var uttakPeriode2 = uttakPerioder.get(4); - assertThat(uttakPeriode2.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(uttakPeriode2.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(uttakPeriode2.getFom()).isEqualTo(fødselsdato.plusWeeks(6)); - assertThat(uttakPeriode2.getTom()).isEqualTo(sluttUgyldigPeriode.plusWeeks(8).plusDays(2)); - assertThat(uttakPeriode2.getManuellbehandlingårsak()).isNull(); - - //Det er tom for konto for siste del siden allerede trekk fra saldo for forrige perioder - // (gyldigutsett + ugyldigutsett) som gikk til manuell behandling - var uttakPeriode3 = uttakPerioder.get(5); - assertThat(uttakPeriode3.getPerioderesultattype()).isEqualTo(Perioderesultattype.MANUELL_BEHANDLING); - assertThat(uttakPeriode3.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(uttakPeriode3.getFom()).isEqualTo(sluttUgyldigPeriode.plusWeeks(8).plusDays(3)); - assertThat(uttakPeriode3.getTom()).isEqualTo(sluttUgyldigPeriode.plusWeeks(10)); - assertThat(uttakPeriode3.getManuellbehandlingårsak()).isEqualTo(Manuellbehandlingårsak.STØNADSKONTO_TOM); - } - @Test void foreldrepengerFørFødsel_for_kort_fpff_starter_for_sent() { var fødselsdato = LocalDate.of(2018, 1, 1); diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" index b4b5efb4..f45c238f 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" @@ -25,7 +25,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Opptjening; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; @@ -185,8 +184,8 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) } private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, - null); + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, null, null, + null, null); } @Test @@ -388,7 +387,7 @@ void helgErIkkeHull() { .oppgittPeriode(oppgittPeriode(MØDREKVOTE, familiehendelse, familiehendelse.plusWeeks(3))) .oppgittPeriode( OppgittPeriode.forUtsettelse(familiehendelse.plusWeeks(6).plusDays(1), familiehendelse.plusWeeks(8), - UtsettelseÅrsak.ARBEID, null, null, null))) + UtsettelseÅrsak.ARBEID, null, null, null, null))) .behandling(morBehandling()) .rettOgOmsorg(new RettOgOmsorg.Builder().farHarRett(true).morHarRett(true)) .opptjening(new Opptjening.Builder().skjæringstidspunkt(søknadsperiodeFom)) @@ -778,7 +777,7 @@ void manglende_fpff_skal_ikke_slutte_i_helg() { var fødselsdato = LocalDate.of(2018, 6, 13); var oppgittPeriode = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(20), fødselsdato.plusWeeks(22), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(17), null, null); + null, false, fødselsdato.plusWeeks(17), null, null, null); var grunnlag = grunnlagMedKontoer().datoer(new Datoer.Builder().fødsel(fødselsdato)) .søknad(new Søknad.Builder().oppgittPeriode(oppgittPeriode)) .opptjening(new Opptjening.Builder().skjæringstidspunkt(fødselsdato.plusWeeks(7))) diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderTjenesteTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderTjenesteTest.java" index 7099a75a..bff8bbe4 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderTjenesteTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktePerioderTjenesteTest.java" @@ -20,11 +20,11 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Opptjening; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; @@ -297,7 +297,7 @@ void helgErIkkeHull() { .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, søknadsperiodeFom, familiehendelse.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, familiehendelse, familiehendelse.plusWeeks(3))) .oppgittPeriode(OppgittPeriode.forUtsettelse(familiehendelse.plusWeeks(6).plusDays(1), familiehendelse.plusWeeks(8), - UtsettelseÅrsak.SYKDOM_SKADE, null, null, null))) + UtsettelseÅrsak.SYKDOM_SKADE, null, null, null, DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT))) .behandling(morBehandling()) .rettOgOmsorg(new RettOgOmsorg.Builder().farHarRett(true).morHarRett(true)) .opptjening(new Opptjening.Builder().skjæringstidspunkt(søknadsperiodeFom)) @@ -471,8 +471,8 @@ private Konto.Builder konto(Stønadskontotype stønadskontotype, int trekkdager) } private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, - null); + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, null, null, + null, null); } private Behandling.Builder farBehandling() { diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java index 744f2f92..5ad685be 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java @@ -1,7 +1,7 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.IKKE_I_AKTIVITET_IKKE_DOKUMENTERT; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_IKKE_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITETSKRAVET_UTDANNING_IKKE_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak.AKTIVITET_UKJENT_UDOKUMENTERT; @@ -22,12 +22,10 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -35,24 +33,21 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UtsettelseÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UttakPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UttakPeriodeAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.Manuellbehandlingårsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.PeriodeResultatÅrsak; import no.nav.foreldrepenger.regler.uttak.felles.Virkedager; class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBase { - @Test void bfhr_mor_med_bekreftet_uføretrygd_skal_godkjennes() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 200)).minsterettDager(75); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE, null); var utsettelseFra = Virkedager.justerHelgTilMandag(fødselsdato.plusMonths(6)); - var oppgittPeriodeU1 = foreldrepengerUtsettelse(utsettelseFra, Virkedager.plusVirkedager(utsettelseFra, 19), MorsAktivitet.UTDANNING); - var oppgittPeriode2 = foreldrepenger(fødselsdato.plusYears(1), MorsAktivitet.UFØRE); - var dokumentasjon = new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(oppgittPeriodeU1.getFom(), oppgittPeriodeU1.getTom(), IKKE_I_AKTIVITET_IKKE_DOKUMENTERT)); - var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).dokumentasjon(dokumentasjon) + var oppgittPeriodeU1 = foreldrepengerUtsettelse(utsettelseFra, Virkedager.plusVirkedager(utsettelseFra, 19), MorsAktivitet.UTDANNING, + MORS_AKTIVITET_IKKE_DOKUMENTERT); + var oppgittPeriode2 = foreldrepenger(fødselsdato.plusYears(1), MorsAktivitet.UFØRE, null); + var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittePerioder(List.of(oppgittPeriode, oppgittPeriodeU1, oppgittPeriode2)); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) @@ -76,9 +71,9 @@ class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB void bfhr_mor_med_bekreftet_uføretrygd_flerbarn_skal_godkjennes() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 2, 1)); var kontoer = new Kontoer.Builder().kontoList(List.of(konto(FORELDREPENGER, 285))).flerbarnsdager(85).minsterettDager(85); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); - var oppgittPeriode2 = foreldrepenger(fødselsdato.plusYears(1), MorsAktivitet.UFØRE); - var oppgittPeriode3 = foreldrepenger(fødselsdato.plusYears(2), MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE, null); + var oppgittPeriode2 = foreldrepenger(fødselsdato.plusYears(1), MorsAktivitet.UFØRE, null); + var oppgittPeriode3 = foreldrepenger(fødselsdato.plusYears(2), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2, oppgittPeriode3)); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) @@ -105,7 +100,7 @@ class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB void bfhr_mor_med_bekreftet_uføretrygd_overskrider_minsterett() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 200)).minsterettDager(75); - var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(23).minusDays(1), MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(23).minusDays(1), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode)); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) @@ -126,19 +121,18 @@ class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 200)).minsterettDager(40); - var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(45).minusDays(1), MorsAktivitet.UTDANNING); - var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(45), fødselsdato.plusWeeks(47).minusDays(1), null); + var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(45).minusDays(1), MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(45), fødselsdato.plusWeeks(47).minusDays(1), null, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) - .datoer(new Datoer.Builder().fødsel(fødselsdato)) - .rettOgOmsorg(bareFarRett().morUføretrygd(true)) - .søknad(søknad.dokumentasjon(new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(45).minusDays(1), I_AKTIVITET)))) - .inngangsvilkår(oppfyltAlleVilkår()) - .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) - .kontoer(kontoer) - .build(); + .datoer(new Datoer.Builder().fødsel(fødselsdato)) + .rettOgOmsorg(bareFarRett().morUføretrygd(true)) + .inngangsvilkår(oppfyltAlleVilkår()) + .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD))) + .kontoer(kontoer) + .søknad(søknad) + .build(); var fastsattePerioder = fastsettPerioder(grunnlag); assertThat(fastsattePerioder).hasSize(4); assertThat(fastsattePerioder.stream().anyMatch(p -> harPeriode(p.getUttakPeriode(), Perioderesultattype.INNVILGET, FORELDREPENGER_KUN_FAR_HAR_RETT, 190))).isTrue(); @@ -152,9 +146,9 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { void bfhr_mor_med_bekreftet_uføretrygd_uten_aktivitetskrav_skal_godkjennes() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 200)).utenAktivitetskravDager(75); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); - var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(25), MorsAktivitet.UFØRE); - var oppgittPeriode3 = foreldrepenger(fødselsdato.plusWeeks(40), MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE, null); + var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(25), MorsAktivitet.UFØRE, null); + var oppgittPeriode3 = foreldrepenger(fødselsdato.plusWeeks(40), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2, oppgittPeriode3)); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) @@ -178,14 +172,12 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { void bfhr_mor_med_bekreftet_uføretrygd_uten_aktivitetskrav_avslått_periode_med_aktivitet_skal_godkjennes() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 200)).utenAktivitetskravDager(75); - var oppgittPeriode = foreldrepenger(fødselsdato.minusWeeks(1), MorsAktivitet.SYK); - var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(14), MorsAktivitet.SYK); - var dokSyk = new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(14).minusDays(1), I_AKTIVITET)); - var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)) - .dokumentasjon(dokSyk); + var oppgittPeriode = foreldrepenger(fødselsdato.minusWeeks(1), MorsAktivitet.SYK, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(14), MorsAktivitet.SYK, null); + var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling() + .kreverSammenhengendeUttak(false)) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -204,11 +196,12 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().kontoList(List.of(konto(FORELDREPENGER, 285))) .flerbarnsdager(85).utenAktivitetskravDager(75); - var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE); - var oppgittPeriode2 = foreldrepenger(Virkedager.justerHelgTilMandag(fødselsdato.plusWeeks(49)), MorsAktivitet.UFØRE); // Strekker seg utover stønadsperioden + var oppgittPeriode = foreldrepenger(fødselsdato, MorsAktivitet.UFØRE, null); + var oppgittPeriode2 = foreldrepenger(Virkedager.justerHelgTilMandag(fødselsdato.plusWeeks(49)), MorsAktivitet.UFØRE, null); // Strekker seg utover stønadsperioden var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling() + .kreverSammenhengendeUttak(false)) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -228,7 +221,7 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { void bfhr_mor_med_bekreftet_uføretrygd_uten_aktivitetskrav_overskrider_minsterett() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 200)).utenAktivitetskravDager(75); - var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(23).minusDays(1), MorsAktivitet.UFØRE); + var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(23).minusDays(1), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode)); var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) @@ -276,13 +269,11 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var fødselsdato = Virkedager.justerHelgTilMandag(LocalDate.of(2022, 1, 1)); var kontoer = new Kontoer.Builder().konto(konto(FORELDREPENGER, 40)).minsterettDager(17).flerbarnsdager(10); var oppgittPeriode1 = OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(14).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, MorsAktivitet.ARBEID); + null, false, fødselsdato, fødselsdato, MorsAktivitet.ARBEID, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var oppgittPeriode2 = oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(14), fødselsdato.plusWeeks(17).minusDays(1), true, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittePerioder(List.of(oppgittPeriode1, oppgittPeriode2)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(oppgittPeriode1.getFom(), - oppgittPeriode1.getTom(), I_AKTIVITET))); + .oppgittePerioder(List.of(oppgittPeriode1, oppgittPeriode2)); var grunnlag = basicGrunnlagFar(fødselsdato) .rettOgOmsorg(bareFarRett()) @@ -332,8 +323,8 @@ void bfhr_flerbarnsdager_trekker_minsterett() { var oppgittPeriode1 = oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(8).minusDays(1), true, null); var gradertPeriode = OppgittPeriode.forGradering(FORELDREPENGER, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(10), - BigDecimal.TEN, null, true, Set.of(ARBEIDSFORHOLD), PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null); + BigDecimal.TEN, null, true, Set.of(ARBEIDSFORHOLD), fødselsdato, fødselsdato, + null, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittePerioder(List.of(oppgittPeriode1, gradertPeriode)); @@ -357,23 +348,20 @@ private boolean harPeriode(UttakPeriode p, Perioderesultattype prt, PeriodeResul (dager == -1 || p.getAktiviteter().stream().map(UttakPeriodeAktivitet::getTrekkdager).mapToInt(Trekkdager::rundOpp).sum() == dager); } - private boolean harManuellPeriode(UttakPeriode p, Manuellbehandlingårsak årsak, int dager) { - return p.getPerioderesultattype().equals(Perioderesultattype.MANUELL_BEHANDLING) && p.getManuellbehandlingårsak().equals(årsak) && - (dager == -1 || p.getAktiviteter().stream().map(UttakPeriodeAktivitet::getTrekkdager).mapToInt(Trekkdager::rundOpp).sum() == dager); - } - - private OppgittPeriode foreldrepenger(LocalDate fødselsdato, MorsAktivitet utdanning) { + private OppgittPeriode foreldrepenger(LocalDate fødselsdato, MorsAktivitet morsAktivitet, DokumentasjonVurdering dokumentasjonVurdering) { return OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(15).minusDays(1), null, - false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, utdanning); + false, fødselsdato, fødselsdato, morsAktivitet, dokumentasjonVurdering); } - private OppgittPeriode foreldrepenger(LocalDate fom, LocalDate tom, MorsAktivitet utdanning) { + private OppgittPeriode foreldrepenger(LocalDate fom, LocalDate tom, MorsAktivitet morsAktivitet, DokumentasjonVurdering dokumentasjonVurdering) { return OppgittPeriode.forVanligPeriode(FORELDREPENGER, fom, tom, null, - false, PeriodeVurderingType.IKKE_VURDERT, fom.minusWeeks(3), fom.minusWeeks(3), utdanning); + false, fom.minusWeeks(3), fom.minusWeeks(3), morsAktivitet, dokumentasjonVurdering); } - private OppgittPeriode foreldrepengerUtsettelse(LocalDate fom, LocalDate tom, MorsAktivitet morsAktivitet) { - return OppgittPeriode.forUtsettelse(fom, tom, UtsettelseÅrsak.FERIE, fom, fom, morsAktivitet); + private OppgittPeriode foreldrepengerUtsettelse(LocalDate fom, LocalDate tom, + MorsAktivitet morsAktivitet, + DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forUtsettelse(fom, tom, UtsettelseÅrsak.FERIE, fom, fom, morsAktivitet, dokumentasjonVurdering); } diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteDelregelTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteDelregelTest.java" index 557644e2..14e0c08d 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteDelregelTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteDelregelTest.java" @@ -433,7 +433,7 @@ void UT1221_mor_etterTermin_etter6Uker_omsorg_disponibleDager_gradering_avklart( } private OppgittPeriode overføringsperiode(LocalDate fom, LocalDate tom, OverføringÅrsak årsak) { - return DelRegelTestUtil.overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, årsak); + return DelRegelTestUtil.overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, årsak, null); } @Test diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteOrkestreringTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteOrkestreringTest.java" index 0dcd6c7f..97001134 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteOrkestreringTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/M\303\270drekvoteOrkestreringTest.java" @@ -1,5 +1,6 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT; import static org.assertj.core.api.Assertions.assertThat; import java.time.LocalDate; @@ -7,7 +8,6 @@ import org.junit.jupiter.api.Test; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; @@ -60,11 +60,9 @@ class MødrekvoteOrkestreringTest extends FastsettePerioderRegelOrkestreringTest .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forOverføring(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1), - OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null)) + OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null, SYKDOM_ANNEN_FORELDER_DOKUMENTERT)) .oppgittPeriode(oppgittPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), - fødselsdato.plusWeeks(12).minusDays(1))) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))))); + fødselsdato.plusWeeks(12).minusDays(1)))); var perioder = fastsettPerioder(grunnlag); @@ -99,7 +97,7 @@ class MødrekvoteOrkestreringTest extends FastsettePerioderRegelOrkestreringTest .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forOverføring(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1), - OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null)) + OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null, null)) .oppgittPeriode(oppgittPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1)))); @@ -119,7 +117,7 @@ class MødrekvoteOrkestreringTest extends FastsettePerioderRegelOrkestreringTest .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forOverføring(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1), - OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null)) + OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null, null)) .oppgittPeriode(oppgittPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1)))); @@ -153,18 +151,17 @@ class MødrekvoteOrkestreringTest extends FastsettePerioderRegelOrkestreringTest .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forOverføring(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1), - OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null)) + OverføringÅrsak.SYKDOM_ELLER_SKADE, null, null, SYKDOM_ANNEN_FORELDER_DOKUMENTERT)) .oppgittPeriode(oppgittPeriode(Stønadskontotype.FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1))) .dokumentasjon(new Dokumentasjon.Builder().periodeUtenOmsorg( - new PeriodeUtenOmsorg(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))))); + new PeriodeUtenOmsorg(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))))); var perioder = fastsettPerioder(grunnlag); assertThat(perioder).hasSize(3); - //6 første uker mødrekvote innvilges + //6 første uker mødrekvote avslås assertThat(perioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.AVSLÅTT); // UT1006 assertThat(perioder.get(0).getUttakPeriode().getStønadskontotype()).isEqualTo(Stønadskontotype.MØDREKVOTE); assertThat(perioder.get(0).getUttakPeriode().getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.MOR_HAR_IKKE_OMSORG); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java index 30b4fcb5..0444b872 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java @@ -2,7 +2,8 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_1; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_2; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_SØKER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.AVSLÅTT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.INNVILGET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.MANUELL_BEHANDLING; @@ -37,17 +38,13 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.EndringAvStilling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.FastsattUttakPeriodeAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppholdÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Opptjening; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Orgnummer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedInnleggelse; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; @@ -119,115 +116,6 @@ class OrkestreringTest extends FastsettePerioderRegelOrkestreringTestBase { assertThat(uttakPerioder.get(3).getTom()).isEqualTo(fødselsdato.plusWeeks(12).minusDays(1)); } - @Test - void mødrekvoteMedUtsattOppstartUtenGyldigGrunnSkalTrekkeDagerPåSaldo() { - var fødselsdato = LocalDate.of(2018, 1, 8); - var sluttGyldigUtsattPeriode = fødselsdato.plusDays(6); - var startUgyldigPeriode = fødselsdato.plusDays(7); - var sluttUgyldigPeriode = startUgyldigPeriode.plusDays(4); - - var grunnlag = basicGrunnlagMor(fødselsdato) - .søknad(new Søknad.Builder().oppgittPeriode( - oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) - .oppgittPeriode( - oppgittPeriode(MØDREKVOTE, sluttUgyldigPeriode.plusDays(1), sluttUgyldigPeriode.plusWeeks(10))) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(fødselsdato, sluttGyldigUtsattPeriode)))); - - var fastsettePeriodeGrunnlag = grunnlag.build(); - var resultat = fastsettPerioder(fastsettePeriodeGrunnlag); - var uttakPerioder = resultat.stream().map(FastsettePeriodeResultat::getUttakPeriode).collect(Collectors.toList()); - assertThat(uttakPerioder).hasSize(6); - - /* FPFF blir innvilget. */ - var foreldrepengerFørFødselPeriode = uttakPerioder.get(0); - assertThat(foreldrepengerFørFødselPeriode.getFom()).isEqualTo(fødselsdato.minusWeeks(3)); - assertThat(foreldrepengerFørFødselPeriode.getTom()).isEqualTo(fødselsdato.minusDays(1)); - assertThat(foreldrepengerFørFødselPeriode.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(foreldrepengerFørFødselPeriode.getStønadskontotype()).isEqualTo(FORELDREPENGER_FØR_FØDSEL); - - - /* Første del av opphold-perioden er gyldig utsettelse, men skal likevel behandles manuelt. */ - var gyldigUtsettelsePeriode = uttakPerioder.get(1); - assertThat(gyldigUtsettelsePeriode.getTom()).isEqualTo(sluttGyldigUtsattPeriode); - assertThat(gyldigUtsettelsePeriode.getFom()).isEqualTo(fødselsdato); - assertThat(gyldigUtsettelsePeriode.getPerioderesultattype()).isEqualTo(AVSLÅTT); - assertThat(gyldigUtsettelsePeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(gyldigUtsettelsePeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.MOR_TAR_IKKE_UKENE_ETTER_FØDSEL); - - - var ugyldigUtsettelsePeriode = uttakPerioder.get(2); - assertThat(ugyldigUtsettelsePeriode.getFom()).isEqualTo(sluttGyldigUtsattPeriode.plusDays(1)); - assertThat(ugyldigUtsettelsePeriode.getTom()).isEqualTo(sluttUgyldigPeriode); - assertThat(ugyldigUtsettelsePeriode.getPerioderesultattype()).isEqualTo(AVSLÅTT); - assertThat(ugyldigUtsettelsePeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(ugyldigUtsettelsePeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.MOR_TAR_IKKE_UKENE_ETTER_FØDSEL); - - /* Splittes ved knekkpunkt ved 6 uker pga regelflyt */ - var uttakPeriode1 = uttakPerioder.get(3); - assertThat(uttakPeriode1.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(uttakPeriode1.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(uttakPeriode1.getFom()).isEqualTo(sluttUgyldigPeriode.plusDays(1)); - assertThat(uttakPeriode1.getTom()).isEqualTo(fødselsdato.plusWeeks(6).minusDays(1)); - assertThat(uttakPeriode1.getManuellbehandlingårsak()).isNull(); - - var uttakPeriode2 = uttakPerioder.get(4); - assertThat(uttakPeriode2.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(uttakPeriode2.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(uttakPeriode2.getFom()).isEqualTo(fødselsdato.plusWeeks(6)); - assertThat(uttakPeriode2.getTom()).isEqualTo(sluttUgyldigPeriode.plusWeeks(8).plusDays(2)); - assertThat(uttakPeriode2.getManuellbehandlingårsak()).isNull(); - - //Det er tom for konto for siste del siden allerede trekk fra saldo for forrige perioder - // (gyldigutsett + ugyldigutsett) som gikk til manuell behandling - var uttakPeriode3 = uttakPerioder.get(5); - assertThat(uttakPeriode3.getPerioderesultattype()).isEqualTo(Perioderesultattype.MANUELL_BEHANDLING); - assertThat(uttakPeriode3.getStønadskontotype()).isEqualTo(MØDREKVOTE); - assertThat(uttakPeriode3.getFom()).isEqualTo(sluttUgyldigPeriode.plusWeeks(8).plusDays(3)); - assertThat(uttakPeriode3.getTom()).isEqualTo(sluttUgyldigPeriode.plusWeeks(10)); - assertThat(uttakPeriode3.getManuellbehandlingårsak()).isEqualTo(Manuellbehandlingårsak.STØNADSKONTO_TOM); - } - - @Test - void delvisUgyldigUtsattMødrekvote() { - var fødselsdato = LocalDate.of(2018, 1, 8); - var gyldigUtsettelseStart = fødselsdato.plusDays(5); - var gyldigUtsettelseSlutt = fødselsdato.plusDays(10); - - var søknad = new Søknad.Builder() - .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) - .oppgittPeriode(oppgittPeriode(MØDREKVOTE, gyldigUtsettelseSlutt.plusDays(1), fødselsdato.plusWeeks(6).minusDays(1))) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode(new GyldigGrunnPeriode(gyldigUtsettelseStart, gyldigUtsettelseSlutt))); - var grunnlag = basicGrunnlagMor(fødselsdato) - .søknad(søknad); - - var resultat = fastsettPerioder(grunnlag); - var uttakPerioder = resultat.stream().map(FastsettePeriodeResultat::getUttakPeriode).collect(Collectors.toList()); - - assertThat(uttakPerioder).hasSize(4); - - // Første del av msp blir manuell behandling - var ugyldigUtsattPeriode = uttakPerioder.get(1); - assertThat(ugyldigUtsattPeriode.getPerioderesultattype()).isEqualTo(AVSLÅTT); - assertThat(ugyldigUtsattPeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.MOR_TAR_IKKE_UKENE_ETTER_FØDSEL); - assertThat(ugyldigUtsattPeriode.getFom()).isEqualTo(fødselsdato); - assertThat(ugyldigUtsattPeriode.getTom()).isEqualTo(fødselsdato.plusDays(4)); - assertThat(ugyldigUtsattPeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - - var gyldigUtsattPeriode = uttakPerioder.get(2); - assertThat(gyldigUtsattPeriode.getPerioderesultattype()).isEqualTo(AVSLÅTT); - assertThat(gyldigUtsattPeriode.getPeriodeResultatÅrsak()).isEqualTo(IkkeOppfyltÅrsak.MOR_TAR_IKKE_UKENE_ETTER_FØDSEL); - assertThat(gyldigUtsattPeriode.getFom()).isEqualTo(gyldigUtsettelseStart); - assertThat(gyldigUtsattPeriode.getTom()).isEqualTo(gyldigUtsettelseSlutt); - assertThat(gyldigUtsattPeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - - var innvilgetUttakPeriode = uttakPerioder.get(3); - assertThat(innvilgetUttakPeriode.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - assertThat(innvilgetUttakPeriode.getManuellbehandlingårsak()).isNull(); - assertThat(innvilgetUttakPeriode.getFom()).isEqualTo(gyldigUtsettelseSlutt.plusDays(1)); - assertThat(innvilgetUttakPeriode.getTom()).isEqualTo(fødselsdato.plusWeeks(6).minusDays(1)); - assertThat(innvilgetUttakPeriode.getStønadskontotype()).isEqualTo(MØDREKVOTE); - } @Test void helePeriodenUtenforSøknadsfrist() { @@ -235,9 +123,9 @@ class OrkestreringTest extends FastsettePerioderRegelOrkestreringTestBase { var sisteUttaksdag = fødselsdato.plusWeeks(6).minusDays(1); var søknadsfrist = sisteUttaksdag.plusMonths(3).with(TemporalAdjusters.lastDayOfMonth()); var fpff = OppgittPeriode.forVanligPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, søknadsfrist.plusWeeks(1), søknadsfrist.plusWeeks(1), null); + null, false, søknadsfrist.plusWeeks(1), søknadsfrist.plusWeeks(1), null, null); var mødrekvote = OppgittPeriode.forVanligPeriode(MØDREKVOTE, fødselsdato, sisteUttaksdag, null, false, - PeriodeVurderingType.IKKE_VURDERT, søknadsfrist.plusWeeks(1), søknadsfrist.plusWeeks(1), null); + søknadsfrist.plusWeeks(1), søknadsfrist.plusWeeks(1), null, null); var grunnlag = basicGrunnlagMor(fødselsdato) .rettOgOmsorg(new RettOgOmsorg.Builder().samtykke(true)) .søknad(søknad(Søknadstype.FØDSEL, fpff, mødrekvote)); @@ -277,10 +165,10 @@ private Datoer.Builder datoer(LocalDate fødselsdato) { var fødselsdato = LocalDate.of(2017, 11, 1); var mottattDato = fødselsdato.plusMonths(4).plusWeeks(1); var fpff = OppgittPeriode.forVanligPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, mottattDato, mottattDato, null); + null, false, mottattDato, mottattDato, null, null); //Mødrekvote skal knekkes på for at første delen skal avlås pga søknadsfrist var mødrekvote = OppgittPeriode.forVanligPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), null, false, - PeriodeVurderingType.IKKE_VURDERT, mottattDato, mottattDato, null); + mottattDato, mottattDato, null, null); var grunnlag = basicGrunnlagMor(fødselsdato) .søknad(søknad(Søknadstype.FØDSEL, fpff, mødrekvote)); @@ -444,7 +332,7 @@ private Datoer.Builder datoer(LocalDate fødselsdato) { var periodeTom = periodeFom.plusDays(20); var kontoer = new Kontoer.Builder().konto(konto(FEDREKVOTE, 15)); var fedrekvote = OppgittPeriode.forVanligPeriode(FEDREKVOTE, periodeFom, periodeTom, null, false, - PeriodeVurderingType.IKKE_VURDERT, periodeTom.plusYears(2), periodeTom.plusYears(2), null); + periodeTom.plusYears(2), periodeTom.plusYears(2), null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .datoer(datoer(fødselsdato)) .behandling(farBehandling()) @@ -631,9 +519,7 @@ void begge_rett_med_termin_fff_knekkes_riktig() { oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, LocalDate.of(2018, 7, 30), LocalDate.of(2018, 8, 19))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, LocalDate.of(2018, 8, 20), LocalDate.of(2018, 12, 2))) .oppgittPeriode(utsettelsePeriode(LocalDate.of(2018, 12, 3), LocalDate.of(2018, 12, 31), - UtsettelseÅrsak.INNLAGT_SØKER)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedInnleggelse( - new PeriodeMedInnleggelse(LocalDate.of(2018, 12, 3), LocalDate.of(2018, 12, 31))))) + UtsettelseÅrsak.INNLAGT_SØKER, INNLEGGELSE_SØKER_DOKUMENTERT))) .inngangsvilkår(oppfyltAlleVilkår()) .build(); @@ -694,14 +580,11 @@ void skal_filtrere_bort_perioden_som_kun_er_helg() { void skal_gå_til_avslag_når_søker_er_tom_for_sine_konto_far() { var fødselsdato = LocalDate.of(2018, 1, 1); var kontoer = new Kontoer.Builder().konto(konto(FEDREKVOTE, 15)).konto(konto(FELLESPERIODE, 50)); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(21).minusDays(1), I_AKTIVITET)); var søknad = søknad(Søknadstype.FØDSEL, oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(9).minusDays(1)), oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(9), fødselsdato.plusWeeks(10).minusDays(1)), - oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(20).minusDays(1)), - oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(20), fødselsdato.plusWeeks(21).minusDays(1))) - .dokumentasjon(dokumentasjon); + oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(20).minusDays(1), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET), + oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(20), fødselsdato.plusWeeks(21).minusDays(1), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET)); var grunnlag = RegelGrunnlagTestBuilder.create() .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .kontoer(kontoer) @@ -971,7 +854,7 @@ void skal_filtrere_bort_perioden_som_kun_er_helg() { gradertoppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(7).minusDays(1), BigDecimal.valueOf(50), Set.of(arbeidsforhold1.getIdentifikator()))) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(100), UtsettelseÅrsak.ARBEID))) + utsettelsePeriode(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(100), UtsettelseÅrsak.ARBEID, null))) .kontoer(new Kontoer.Builder().konto(konto(FORELDREPENGER, 35))); var resultat = fastsettPerioder(grunnlag); @@ -985,17 +868,18 @@ void skal_filtrere_bort_perioden_som_kun_er_helg() { @Test void innvilge_foreldrepenger_14_uker_før_fødsel_men_ikke_12_uker_før_termin_ved_terminsøknad() { var termin = LocalDate.of(2020, 6, 10); + var fp = OppgittPeriode.forVanligPeriode(FORELDREPENGER, termin.minusWeeks(15), termin.minusWeeks(3).minusDays(1), null, false, + null, null, null, null); + var fpff = OppgittPeriode.forVanligPeriode(FORELDREPENGER_FØR_FØDSEL, termin.minusWeeks(3), termin.minusDays(1), null, false, + null, null, null, null); + var fp2 = OppgittPeriode.forVanligPeriode(FORELDREPENGER, termin, termin.plusWeeks(4), null, false, + null, null, null, null); var testGrunnlag = basicGrunnlag() .datoer(new Datoer.Builder().termin(termin).fødsel(termin.plusWeeks(2))) .rettOgOmsorg(aleneomsorg()) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(1000))) .søknad(new Søknad.Builder().type(Søknadstype.TERMIN) - .oppgittePerioder(List.of(OppgittPeriode.forVanligPeriode(FORELDREPENGER, termin.minusWeeks(15), - termin.minusWeeks(3).minusDays(1), null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, null), - OppgittPeriode.forVanligPeriode(FORELDREPENGER_FØR_FØDSEL, termin.minusWeeks(3), termin.minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, null), - OppgittPeriode.forVanligPeriode(FORELDREPENGER, termin, termin.plusWeeks(4), null, false, - PeriodeVurderingType.IKKE_VURDERT, null, null, null)))); + .oppgittePerioder(List.of(fp, fpff, fp2))); var resultater = fastsettPerioder(testGrunnlag); @@ -1203,14 +1087,11 @@ public void to_tette_bfhr_redusert_minsterett_oppbrukt_etter_start_ny_sak() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, termindato.minusDays(2), fødselsdato.plusWeeks(2).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(50), fødselsdato.plusWeeks(58).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) ); var resultat = fastsettPerioder(grunnlag); @@ -1245,14 +1126,11 @@ public void to_tette_bfhr_redusert_minsterett_oppbrukt_etter_start_ny_sak() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(4).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(15), fødselsdato.plusWeeks(17).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(25), fødselsdato.plusWeeks(29).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) ); var resultat = fastsettPerioder(grunnlag); @@ -1287,11 +1165,9 @@ public void to_tette_bfhr_redusert_minsterett_oppbrukt_etter_start_ny_sak() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(15), fødselsdato.plusWeeks(24).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FORELDREPENGER, fødselsdato.plusWeeks(40), fødselsdato.plusWeeks(43).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, null, null)) ); var resultat = fastsettPerioder(grunnlag); diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringDelregelTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringDelregelTest.java" index 99e5af73..1412dd33 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringDelregelTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringDelregelTest.java" @@ -2,6 +2,14 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.kjørRegel; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.overføringsperiode; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.ER_ALENEOMSORG; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.ER_BARE_SØKER_RETT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.ALENEOMSORG; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.INNLEGGELSE; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.SYKDOM_ELLER_SKADE; import static org.assertj.core.api.Assertions.assertThat; import java.time.LocalDate; @@ -10,13 +18,11 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -32,12 +38,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.SYKDOM_ELLER_SKADE); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, SYKDOM_ELLER_SKADE, SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -50,12 +55,12 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.INNLEGGELSE); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, + INNLEGGELSE, INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -68,12 +73,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.ALENEOMSORG); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, ALENEOMSORG, ER_ALENEOMSORG); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -86,12 +90,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, ANNEN_FORELDER_IKKE_RETT, ER_BARE_SØKER_RETT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -104,12 +107,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(8); var tom = fødselsdato.plusWeeks(9); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.SYKDOM_ELLER_SKADE); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, SYKDOM_ELLER_SKADE, SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -122,12 +124,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(8); var tom = fødselsdato.plusWeeks(9); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.INNLEGGELSE); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, INNLEGGELSE, INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -140,12 +141,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(8); var tom = fødselsdato.plusWeeks(9); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.ALENEOMSORG); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, ALENEOMSORG, ER_ALENEOMSORG); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -158,12 +158,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(8); var tom = fødselsdato.plusWeeks(9); - var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT); + var søknadsperiode = overføringsperiode(Stønadskontotype.FEDREKVOTE, fom, tom, ANNEN_FORELDER_IKKE_RETT, ER_BARE_SØKER_RETT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagMor(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagMor(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -176,12 +175,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, OverføringÅrsak.SYKDOM_ELLER_SKADE); + var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, SYKDOM_ELLER_SKADE, SYKDOM_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -194,12 +192,12 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, OverføringÅrsak.INNLEGGELSE); + var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, INNLEGGELSE, + INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -212,12 +210,11 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, OverføringÅrsak.ALENEOMSORG); + var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, ALENEOMSORG, ER_ALENEOMSORG); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -230,12 +227,12 @@ class OverføringDelregelTest { var fom = fødselsdato.plusWeeks(3); var tom = fødselsdato.plusWeeks(4); - var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, OverføringÅrsak.ANNEN_FORELDER_IKKE_RETT); + var søknadsperiode = overføringsperiode(Stønadskontotype.MØDREKVOTE, fom, tom, ANNEN_FORELDER_IKKE_RETT, + DokumentasjonVurdering.ER_BARE_SØKER_RETT); var kontoer = new Kontoer.Builder() .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.MØDREKVOTE)) .konto(new Konto.Builder().trekkdager(1000).type(Stønadskontotype.FEDREKVOTE)); - var grunnlag = basicGrunnlagFar(fødselsdato).søknad( - søknad(søknadsperiode, new GyldigGrunnPeriode(LocalDate.MIN, LocalDate.MAX))).kontoer(kontoer).build(); + var grunnlag = basicGrunnlagFar(fødselsdato).søknad(fødselssøknadMedEnPeriode(søknadsperiode)).kontoer(kontoer).build(); var regelresultat = kjørRegel(søknadsperiode, grunnlag); @@ -246,11 +243,6 @@ class OverføringDelregelTest { return new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); } - private Søknad.Builder søknad(OppgittPeriode oppgittPeriode, GyldigGrunnPeriode gyldigGrunnPeriode) { - return fødselssøknadMedEnPeriode(oppgittPeriode).dokumentasjon( - new Dokumentasjon.Builder().gyldigGrunnPeriode(gyldigGrunnPeriode)); - } - private RegelGrunnlag.Builder basicGrunnlag(LocalDate fødselsdato) { return RegelGrunnlagTestBuilder.create() .inngangsvilkår(new Inngangsvilkår.Builder()) diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringOrkestreringTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringOrkestreringTest.java" index 71833890..53b7d29a 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringOrkestreringTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/Overf\303\270ringOrkestreringTest.java" @@ -1,5 +1,7 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_ANNEN_FORELDER_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.INNLEGGELSE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OverføringÅrsak.SYKDOM_ELLER_SKADE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.INNVILGET; @@ -19,12 +21,8 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenPart; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriodeAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedInnleggelse; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedSykdomEllerSkade; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak; @@ -41,16 +39,13 @@ class OverføringOrkestreringTest extends FastsettePerioderRegelOrkestreringTest var mødrekvote = oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1)); var fellesperiode = oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(8).minusDays(1)); var overføring = OppgittPeriode.forOverføring(FEDREKVOTE, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(11), - INNLEGGELSE, fødselsdato, fødselsdato); + INNLEGGELSE, fødselsdato, fødselsdato, INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var kontoer = new Kontoer.Builder().konto(konto(FEDREKVOTE, 10)) .konto(konto(MØDREKVOTE, 30)) .konto(konto(FELLESPERIODE, 15)) .konto(konto(FORELDREPENGER_FØR_FØDSEL, 15)); - var dok = new Dokumentasjon.Builder().periodeMedInnleggelse( - new PeriodeMedInnleggelse(overføring.getFom(), overføring.getTom())) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(overføring.getFom(), overføring.getTom())); var grunnlag = basicGrunnlagMor(fødselsdato).kontoer(kontoer) - .søknad(søknad(FØDSEL, mødrekvote, fellesperiode, overføring).dokumentasjon(dok)); + .søknad(søknad(FØDSEL, mødrekvote, fellesperiode, overføring)); var resultat = fastsettPerioder(grunnlag); // 1. mk @@ -74,19 +69,16 @@ class OverføringOrkestreringTest extends FastsettePerioderRegelOrkestreringTest var fødselsdato = LocalDate.of(2020, 1, 21); var fedrekvote = oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(9), fødselsdato.plusWeeks(11).minusDays(1)); var overføring = OppgittPeriode.forOverføring(MØDREKVOTE, fødselsdato.plusWeeks(11), fødselsdato.plusWeeks(14), - SYKDOM_ELLER_SKADE, fødselsdato, fødselsdato); + SYKDOM_ELLER_SKADE, fødselsdato, fødselsdato, SYKDOM_ANNEN_FORELDER_DOKUMENTERT ); var kontoer = new Kontoer.Builder().konto(konto(FEDREKVOTE, 10)) .konto(konto(MØDREKVOTE, 40)) .konto(konto(FELLESPERIODE, 15)) .konto(konto(FORELDREPENGER_FØR_FØDSEL, 15)); - var dok = new Dokumentasjon.Builder().periodeMedSykdomEllerSkade( - new PeriodeMedSykdomEllerSkade(overføring.getFom(), overføring.getTom())) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(overføring.getFom(), overføring.getTom())); var annenPart = new AnnenPart.Builder() .uttaksperiode(innvilget(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), MØDREKVOTE)) .uttaksperiode(innvilget(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(9).minusDays(1), FELLESPERIODE)); var grunnlag = basicGrunnlagFar(fødselsdato).kontoer(kontoer) - .søknad(søknad(FØDSEL, fedrekvote, overføring).dokumentasjon(dok)) + .søknad(søknad(FØDSEL, fedrekvote, overføring)) .annenPart(annenPart); var resultat = fastsettPerioder(grunnlag); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RegelResultatBehandlerTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RegelResultatBehandlerTest.java index cbef4a5d..dfc26b62 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RegelResultatBehandlerTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RegelResultatBehandlerTest.java @@ -16,7 +16,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -36,7 +35,7 @@ class RegelResultatBehandlerTest { var fom = LocalDate.of(2018, 10, 10); var tom = LocalDate.of(2018, 11, 11); var oppgittPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FELLESPERIODE, fom, tom, null, false, - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + null, null, null, null); var grunnlag = RegelGrunnlagTestBuilder.create() .søknad(new Søknad.Builder().oppgittPeriode(oppgittPeriode)) .rettOgOmsorg(new RettOgOmsorg.Builder().samtykke(false)) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java index 5c3bcae5..44b168a5 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java @@ -5,9 +5,29 @@ import java.time.LocalDate; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenPart; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriodeAktivitet; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeid; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Medlemskap; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Orgnummer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.IkkeOppfyltÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.InnvilgetÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.utfall.Manuellbehandlingårsak; @@ -285,12 +305,12 @@ private RegelGrunnlag.Builder basicBuilder(OppgittPeriode oppgittPeriode, boolea } private OppgittPeriode uttakPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, - null); + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, null, null, + null, null); } private OppgittPeriode uttakPeriodeFlerbarnsdager(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, true, PeriodeVurderingType.IKKE_VURDERT, null, null, - null); + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, true, null, null, + null, null); } } diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java index 8aa9c2f0..7e035ca3 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java @@ -38,7 +38,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppholdÅrsak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Orgnummer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -75,8 +74,8 @@ void skal_knekke_annenparts_perioder() { } private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, PeriodeVurderingType.IKKE_VURDERT, null, null, - null); + return OppgittPeriode.forVanligPeriode(stønadskontotype, fom, tom, null, false, null, null, + null, null); } @Test diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SjekkGyldigGrunnForTidligOppstartDelRegelTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SjekkGyldigGrunnForTidligOppstartDelRegelTest.java index 92374f8f..60ce6d8a 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SjekkGyldigGrunnForTidligOppstartDelRegelTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SjekkGyldigGrunnForTidligOppstartDelRegelTest.java @@ -2,6 +2,9 @@ import static java.util.Comparator.comparing; import static java.util.stream.Collectors.toList; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.INNVILGET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.MANUELL_BEHANDLING; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FEDREKVOTE; @@ -14,11 +17,11 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; @@ -33,8 +36,7 @@ class SjekkGyldigGrunnForTidligOppstartDelRegelTest { @Test void fedrekvote_med_tidlig_oppstart_og_gyldig_grunn_blir_innvilget() { var fødselsdato = LocalDate.of(2018, 1, 1); - var oppgittPeriode = DelRegelTestUtil.oppgittPeriode(FEDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6), - PeriodeVurderingType.PERIODE_OK); + var oppgittPeriode = DelRegelTestUtil.oppgittPeriode(FEDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6), TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT); var kontoer = enKonto(FEDREKVOTE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato).søknad( new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode)).kontoer(kontoer).build(); @@ -51,11 +53,26 @@ void fedrekvote_med_tidlig_oppstart_og_gyldig_grunn_blir_innvilget() { assertThat(perioder.stream().map(UttakPeriode::getStønadskontotype).collect(toList())).containsExactly(FEDREKVOTE, FEDREKVOTE); } + @Test + void fellesperiode_med_tidlig_oppstart_mor_er_i_aktivitet_blir_innvilget() { + var fødselsdato = LocalDate.of(2018, 1, 1); + var oppgittPeriode = DelRegelTestUtil.oppgittPeriode(FELLESPERIODE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); + var kontoer = enKonto(FELLESPERIODE, 10 * 5); + var grunnlag = basicGrunnlag(fødselsdato).søknad( + new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode)).kontoer(kontoer).build(); + + var periodeResultater = regelOrkestrering.fastsettePerioder(grunnlag + ); + assertThat(periodeResultater).hasSize(1); + assertThat(periodeResultater.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(INNVILGET); + assertThat(periodeResultater.get(0).getUttakPeriode().getStønadskontotype()).isEqualTo(FELLESPERIODE); + } + @Test void fellesperiode_med_tidlig_oppstart_og_gyldig_grunn_hele_perioden_blir_innvilget() { var fødselsdato = LocalDate.of(2018, 1, 1); var uttakPeriode = DelRegelTestUtil.oppgittPeriode(FELLESPERIODE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), - PeriodeVurderingType.PERIODE_OK); + INNLEGGELSE_ANNEN_FORELDER_DOKUMENTERT); var kontoer = enKonto(FELLESPERIODE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato).søknad( new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(uttakPeriode)).kontoer(kontoer).build(); @@ -70,7 +87,7 @@ void fellesperiode_med_tidlig_oppstart_og_gyldig_grunn_hele_perioden_blir_innvil @Test void fedrekvote_med_tidlig_oppstart_uten_gyldig_grunn_deler_av_perioden_skal_behandles_manuelt() { var fødselsdato = LocalDate.of(2018, 1, 1); - var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(10), PeriodeVurderingType.UAVKLART_PERIODE); + var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(10), null); var kontoer = enKonto(FEDREKVOTE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato).søknad( new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(uttakPeriode)).kontoer(kontoer).build(); @@ -98,7 +115,7 @@ void fedrekvote_med_tidlig_oppstart_uten_gyldig_grunn_deler_av_perioden_skal_beh @Test void fedrekvote_med_tidlig_oppstart_og_vurdert_OK_av_saksbehandler_blir_innvilget_med_knekk() { var fødselsdato = LocalDate.of(2018, 1, 1); - var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(10), PeriodeVurderingType.PERIODE_OK); + var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(10), TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT); var kontoer = enKonto(FEDREKVOTE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato).kontoer(kontoer) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(uttakPeriode)) @@ -119,8 +136,7 @@ void fedrekvote_med_tidlig_oppstart_og_vurdert_OK_av_saksbehandler_blir_innvilge @Test void fedrekvote_med_tidlig_oppstart_og_vurdert_OK_av_saksbehandler_blir_innvilget() { var fødselsdato = LocalDate.of(2018, 1, 1); - var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), - PeriodeVurderingType.PERIODE_OK); + var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT); var kontoer = enKonto(FEDREKVOTE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato).søknad( new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(uttakPeriode)).kontoer(kontoer).build(); @@ -136,15 +152,14 @@ void fedrekvote_med_tidlig_oppstart_og_vurdert_OK_av_saksbehandler_blir_innvilge verifiserPeriode(perioder.get(0), fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), INNVILGET, FEDREKVOTE); } - private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurderingType vurdering) { - return OppgittPeriode.forVanligPeriode(FEDREKVOTE, fom, tom, null, false, vurdering, null, null, null); + private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, DokumentasjonVurdering dokumentasjonVurdering) { + return OppgittPeriode.forVanligPeriode(FEDREKVOTE, fom, tom, null, false, null, null, null, dokumentasjonVurdering); } @Test void fedrekvote_med_tidlig_oppstart_og_vurdert_uavklart_av_saksbehandler_går_til_manuell_behandling() { var fødselsdato = LocalDate.of(2018, 1, 1); - var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), - PeriodeVurderingType.UAVKLART_PERIODE); + var uttakPeriode = oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), null); var kontoer = enKonto(FEDREKVOTE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato) .søknad(new Søknad.Builder() @@ -168,12 +183,9 @@ private OppgittPeriode oppgittPeriode(LocalDate fom, LocalDate tom, PeriodeVurde @Test void fedrekvote_med_tidlig_oppstart_og_vurdert_OK_av_saksbehandler_blir_innvilget_med_knekk_som_saksbehandler_har_registrert() { var fødselsdato = LocalDate.of(2018, 1, 1); - var uttakPeriode1 = oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), - PeriodeVurderingType.ENDRE_PERIODE); - var uttakPeriode2 = oppgittPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4).minusDays(1), - PeriodeVurderingType.PERIODE_OK); - var uttakPeriode3 = oppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), - PeriodeVurderingType.UAVKLART_PERIODE); + var uttakPeriode1 = oppgittPeriode(fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1), TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT); + var uttakPeriode2 = oppgittPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(4).minusDays(1), TIDLIG_OPPSTART_FEDREKVOTE_DOKUMENTERT); + var uttakPeriode3 = oppgittPeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), null); var kontoer = enKonto(FEDREKVOTE, 10 * 5); var grunnlag = basicGrunnlag(fødselsdato).søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(uttakPeriode1) diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" index 3dd9cc7d..1cb3057c 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" @@ -18,7 +18,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -115,7 +114,7 @@ void mottattDatoEtterSluttAvArbeidBlirInnvilget() { } private OppgittPeriode utsettelsePeriode(LocalDate fom, LocalDate tom, UtsettelseÅrsak utsettelseÅrsak, LocalDate mottattDato) { - return OppgittPeriode.forUtsettelse(fom, tom, utsettelseÅrsak, mottattDato, mottattDato, null); + return OppgittPeriode.forUtsettelse(fom, tom, utsettelseÅrsak, mottattDato, mottattDato, null, null); } private RegelGrunnlag.Builder basicBuilder() { @@ -135,7 +134,7 @@ private RegelGrunnlag.Builder basicBuilder() { private OppgittPeriode gradertoppgittPeriode(LocalDate fom, LocalDate tom, LocalDate mottattDato) { return OppgittPeriode.forGradering(Stønadskontotype.MØDREKVOTE, fom, tom, BigDecimal.TEN, null, false, - Set.of(AktivitetIdentifikator.forSelvstendigNæringsdrivende()), PeriodeVurderingType.IKKE_VURDERT, mottattDato, mottattDato, - null); + Set.of(AktivitetIdentifikator.forSelvstendigNæringsdrivende()), mottattDato, mottattDato, + null, null); } } diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TapendeSakOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TapendeSakOrkestreringTest.java index 10ae2c9e..48570795 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TapendeSakOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TapendeSakOrkestreringTest.java @@ -11,9 +11,24 @@ import java.time.LocalDate; import java.time.LocalTime; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenPart; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriodeAktivitet; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeUtenOmsorg; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UttakPeriode; import no.nav.foreldrepenger.regler.uttak.felles.Virkedager; class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBase { @@ -93,8 +108,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null))); + null, false, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null))); var resultat = fastsettPerioder(grunnlag); @@ -115,8 +130,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null))); + null, false, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null))); var resultat = fastsettPerioder(grunnlag); @@ -140,8 +155,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null)) + null, false, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null)) .mottattTidspunkt(fødselsdato.plusWeeks(13).atTime(LocalTime.of(10, 10, 10)))); var resultat = fastsettPerioder(grunnlag); @@ -166,8 +181,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null)) + null, false, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null)) .mottattTidspunkt(fødselsdato.plusWeeks(13).atTime(LocalTime.of(12, 12, 12)))); var resultat = fastsettPerioder(grunnlag); @@ -191,8 +206,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null)) + null, false, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null)) ); var resultat = fastsettPerioder(grunnlag); @@ -220,8 +235,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .flerbarnsdager(5*17)) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FELLESPERIODE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - new SamtidigUttaksprosent(100), true, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null)) + new SamtidigUttaksprosent(100), true, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null)) ); var resultat = fastsettPerioder(grunnlag); @@ -249,8 +264,8 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .flerbarnsdager(5*17)) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FELLESPERIODE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12), - null, true, PeriodeVurderingType.IKKE_VURDERT, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), - null)) + null, true, fødselsdato.plusWeeks(13), fødselsdato.plusWeeks(13), + null, null)) ); var resultat = fastsettPerioder(grunnlag); @@ -279,11 +294,11 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .farUttakRundtFødselDager(10)) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, termindato.minusWeeks(1), termindato.plusWeeks(1).minusDays(1), - new SamtidigUttaksprosent(100), false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + new SamtidigUttaksprosent(100), false, fødselsdato, fødselsdato, + null, null)) .oppgittPeriode(OppgittPeriode.forVanligPeriode(FEDREKVOTE, fødselsdato.plusWeeks(35), fødselsdato.plusWeeks(42).minusDays(1), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, - null)) + null, false, fødselsdato, fødselsdato, + null, null)) ); var resultat = fastsettPerioder(grunnlag); @@ -312,7 +327,7 @@ class TapendeSakOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .farUttakRundtFødselDager(10)) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(OppgittPeriode.forVanligPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(3), - null, false, PeriodeVurderingType.IKKE_VURDERT, fødselsdato, fødselsdato, null)) + null, false, fødselsdato, fødselsdato, null, null)) ); var resultat = fastsettPerioder(grunnlag); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java index 94d138b7..42a92b3e 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java @@ -1,8 +1,8 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.TapendeSakOrkestreringTest.annenpartsPeriode; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator.*; -import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator.forFrilans; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FEDREKVOTE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER_FØR_FØDSEL; @@ -23,12 +23,10 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppholdÅrsak; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; @@ -488,13 +486,9 @@ private Konto.Builder kvote(Stønadskontotype foreldrepengerFørFødsel, int uke var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FEDREKVOTE).trekkdager(75)) .konto(new Konto.Builder().type(MØDREKVOTE).trekkdager(75)) .konto(new Konto.Builder().type(FELLESPERIODE).trekkdager(80)); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fødselsdato, fødselsdato.plusWeeks(30), I_AKTIVITET)); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(21).minusDays(1))) - .oppgittPeriode( - oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(21), fødselsdato.plusWeeks(22).minusDays(1))) - .dokumentasjon(dokumentasjon); + .oppgittPeriode(oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(21).minusDays(1), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET)) + .oppgittPeriode(oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(21), fødselsdato.plusWeeks(22).minusDays(1), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET)); var grunnlag = RegelGrunnlagTestBuilder.create() .kontoer(kontoer) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(FAR_ARBEIDSFORHOLD))) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TrekkdagerUtregningUtilTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TrekkdagerUtregningUtilTest.java index dd3d5c1f..212ccf06 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TrekkdagerUtregningUtilTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/TrekkdagerUtregningUtilTest.java @@ -6,12 +6,11 @@ import java.time.LocalDate; import java.util.Set; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; import org.junit.jupiter.api.Test; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; class TrekkdagerUtregningUtilTest { @@ -23,7 +22,7 @@ void skal_runde_ned_ved_gradering() { //periode på 2 dager, 1% gradering var arbeidstidsprosent = BigDecimal.valueOf(1); var periode = OppgittPeriode.forGradering(Stønadskontotype.FORELDREPENGER, fom, tom, arbeidstidsprosent, null, - false, Set.of(), PeriodeVurderingType.IKKE_VURDERT, null, null, null); + false, Set.of(), null, null, null, null); var trekkdager = TrekkdagerUtregningUtil.trekkdagerFor(periode, true, arbeidstidsprosent, null); assertThat(trekkdager).isEqualTo(new Trekkdager(1.9)); @@ -38,7 +37,7 @@ void skal_redusere_trekkdager_ved_samtidig_uttak_uten_gradering() { var samtidigUttaksprosent = new SamtidigUttaksprosent(50); var periode = OppgittPeriode.forVanligPeriode(Stønadskontotype.FORELDREPENGER, fom, tom, samtidigUttaksprosent, - false, PeriodeVurderingType.IKKE_VURDERT, null, null, null); + false, null, null, null, null); var trekkdager = TrekkdagerUtregningUtil.trekkdagerFor(periode, false, null, samtidigUttaksprosent); assertThat(trekkdager).isEqualTo(new Trekkdager(5)); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradMedGraderingUtregningTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradMedGraderingUtregningTest.java index 572c5cfd..513b14a6 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradMedGraderingUtregningTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradMedGraderingUtregningTest.java @@ -6,9 +6,14 @@ import java.time.LocalDate; import java.util.Set; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.*; import org.junit.jupiter.api.Test; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Utbetalingsgrad; + class UtbetalingsgradMedGraderingUtregningTest { @Test @@ -18,7 +23,7 @@ void toArbeidsforholdMedEnGradertGirRedusertUtbetalingsgrad() { var arbeidstidsprosent = BigDecimal.valueOf(20); var periode = OppgittPeriode.forGradering(Stønadskontotype.FEDREKVOTE, LocalDate.now(), LocalDate.now().plusWeeks(1), - arbeidstidsprosent, null, false, Set.of(aktivitet1), PeriodeVurderingType.IKKE_VURDERT, null, null, null); + arbeidstidsprosent, null, false, Set.of(aktivitet1), null, null, null, null); var utregningForAktivitet1 = utregning(aktivitet1, periode); var utregningForAktivitet2 = utregning(aktivitet2, periode); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java index e196770f..8c4c98c5 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java @@ -66,7 +66,7 @@ void gyldig_utsettelse_gir_ingen_utbetaling() { var fpff = oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1)); var mødrekvote = oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1)); var utsettelseFellesperiode = utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), - UtsettelseÅrsak.FERIE); + UtsettelseÅrsak.FERIE, null); var fellesperiode = oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(12), fødselsdato.plusWeeks(14).minusDays(1)); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java index e6010c4e..7c22b9b2 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java @@ -3,6 +3,7 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.kjørRegel; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.DelRegelTestUtil.utsettelsePeriode; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_BARN_DOKUMENTERT; import static org.assertj.core.api.Assertions.assertThat; import java.time.LocalDate; @@ -14,12 +15,10 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Inngangsvilkår; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedBarnInnlagt; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Revurdering; @@ -35,7 +34,7 @@ class UtsettelseDelregelSammenhengendeUttakTest { void UT1101_ferie_innenfor_seks_første_uker() { var fødselsdato = LocalDate.of(2019, 7, 1); var periode = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(5), - UtsettelseÅrsak.FERIE, fødselsdato.minusWeeks(1), null, null); // innenfor seks uker etter fødsel + UtsettelseÅrsak.FERIE, fødselsdato.minusWeeks(1), null, null, null); // innenfor seks uker etter fødsel var aktivitetIdentifikator = AktivitetIdentifikator.forFrilans(); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().trekkdager(100).type(Stønadskontotype.MØDREKVOTE)); var grunnlag = new RegelGrunnlag.Builder().arbeid( @@ -60,15 +59,14 @@ class UtsettelseDelregelSammenhengendeUttakTest { @Test void UT1124_fødsel_mer_enn_7_uker_før_termin() { var fom = LocalDate.of(2019, 7, 1); - var periode = utsettelsePeriode(fom, fom, UtsettelseÅrsak.INNLAGT_BARN); + var periode = utsettelsePeriode(fom, fom, UtsettelseÅrsak.INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT); var aktivitetIdentifikator = AktivitetIdentifikator.forFrilans(); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().trekkdager(100).type(Stønadskontotype.MØDREKVOTE)); var grunnlag = new RegelGrunnlag.Builder().arbeid( new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .kontoer(kontoer) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(periode) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt(new PeriodeMedBarnInnlagt(fom, fom)))) + .oppgittPeriode(periode)) .behandling(morBehandling()) .revurdering(new Revurdering.Builder().endringsdato(fom)) .rettOgOmsorg(beggeRett()) @@ -86,16 +84,14 @@ class UtsettelseDelregelSammenhengendeUttakTest { @Test void UT1120_fødsel_mer_enn_7_uker_før_termin_perioden_ligger_etter_termin() { var fom = LocalDate.of(2019, 7, 1); - var periode = utsettelsePeriode(fom.plusWeeks(10), fom.plusWeeks(10), UtsettelseÅrsak.INNLAGT_BARN); + var periode = utsettelsePeriode(fom.plusWeeks(10), fom.plusWeeks(10), UtsettelseÅrsak.INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT); var aktivitetIdentifikator = AktivitetIdentifikator.forFrilans(); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().trekkdager(100).type(Stønadskontotype.MØDREKVOTE)); var grunnlag = new RegelGrunnlag.Builder().arbeid( new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .kontoer(kontoer) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(periode) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt( - new PeriodeMedBarnInnlagt(fom.plusWeeks(10), fom.plusWeeks(10))))) + .oppgittPeriode(periode)) .behandling(morBehandling()) .revurdering(new Revurdering.Builder().endringsdato(fom)) .rettOgOmsorg(beggeRett()) @@ -113,15 +109,14 @@ class UtsettelseDelregelSammenhengendeUttakTest { @Test void UT1120_fødsel_mindre_enn_7_uker_før_termin() { var fom = LocalDate.of(2019, 7, 1); - var periode = utsettelsePeriode(fom, fom, UtsettelseÅrsak.INNLAGT_BARN); + var periode = utsettelsePeriode(fom, fom, UtsettelseÅrsak.INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT); var aktivitetIdentifikator = AktivitetIdentifikator.forFrilans(); var kontoer = new Kontoer.Builder().konto(new Konto.Builder().trekkdager(100).type(Stønadskontotype.MØDREKVOTE)); var grunnlag = new RegelGrunnlag.Builder().arbeid( new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .kontoer(kontoer) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(periode) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt(new PeriodeMedBarnInnlagt(fom, fom)))) + .oppgittPeriode(periode)) .behandling(morBehandling()) .revurdering(new Revurdering.Builder().endringsdato(fom)) .rettOgOmsorg(beggeRett()) 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 8963c928..9391b56c 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 @@ -4,6 +4,11 @@ import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_3; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode.Builder.utsettelse; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode.Builder.uttak; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_BARN_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_SØKER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_SØKER_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype.MANUELL_BEHANDLING; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FEDREKVOTE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; @@ -41,11 +46,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedBarnInnlagt; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedInnleggelse; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedSykdomEllerSkade; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.SamtidigUttaksprosent; @@ -68,9 +68,7 @@ class UtsettelseOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(3).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1), - INNLAGT_BARN)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt( - new PeriodeMedBarnInnlagt(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1))))); + INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -90,9 +88,7 @@ class UtsettelseOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1), - INNLAGT_BARN)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt( - new PeriodeMedBarnInnlagt(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1))))); + INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -112,9 +108,7 @@ class UtsettelseOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(3).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1), - INNLAGT_SØKER)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedInnleggelse( - new PeriodeMedInnleggelse(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1))))); + INNLAGT_SØKER, INNLEGGELSE_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -134,9 +128,7 @@ class UtsettelseOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1), - INNLAGT_SØKER)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedInnleggelse( - new PeriodeMedInnleggelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1))))); + INNLAGT_SØKER, INNLEGGELSE_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -156,9 +148,7 @@ class UtsettelseOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(3).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1), - SYKDOM_SKADE)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedSykdomEllerSkade( - new PeriodeMedSykdomEllerSkade(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1))))); + SYKDOM_SKADE, SYKDOM_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -177,9 +167,7 @@ class UtsettelseOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB var grunnlag = basicUtsettelseGrunnlag(fødselsdato).søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1), SYKDOM_SKADE)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedSykdomEllerSkade( - new PeriodeMedSykdomEllerSkade(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1))))); + .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1), SYKDOM_SKADE, SYKDOM_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -200,7 +188,7 @@ void periode_med_utsettelse_pga_arbeid_etter_uke_6_skal_innvilges() { var grunnlag = basicGrunnlagMor(fødselsdato) .søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID))); + .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(2); @@ -221,7 +209,7 @@ void periode_med_utsettelse_pga_arbeid_etter_uke_6_skal_innvilges() { var grunnlag = basicGrunnlagMor(fødselsdato) .søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(4).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID))); + .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -245,7 +233,7 @@ void periode_med_utsettelse_pga_ferie_etter_uke_6_skal_innvilges() { var grunnlag = basicGrunnlagMor(fødselsdato) .søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, FERIE))); + .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, FERIE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(2); @@ -264,9 +252,7 @@ void periode_med_utsettelse_pga_ferie_etter_uke_6_skal_innvilges() { var fødselsdato = LocalDate.of(2018, 1, 1); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(4).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN)) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedBarnInnlagt(new PeriodeMedBarnInnlagt(fødselsdato, fødselsdato.plusWeeks(10))))); + .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(2); @@ -281,13 +267,11 @@ void periode_med_utsettelse_sykdom_som_ikke_er_dokumentert_skal_til_manuell_beha var fødselsdato = LocalDate.of(2018, 1, 1); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(2).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(12).minusDays(1), SYKDOM_SKADE)) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedSykdomEllerSkade(new PeriodeMedSykdomEllerSkade(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(8))))); + .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), SYKDOM_SKADE, null)) + .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(12).minusDays(1), SYKDOM_SKADE, SYKDOM_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); - //Her trenger vi egentlig ikke knapp på tom på dokumentasjon ettersom den ligger etter uke 6 - assertThat(resultat).hasSize(5); + assertThat(resultat).hasSize(4); var utsettelseFørsteUkeneSomIkkeErDokumentert = resultat.get(1).getUttakPeriode(); assertThat(utsettelseFørsteUkeneSomIkkeErDokumentert.getUtsettelseÅrsak()).isEqualTo(SYKDOM_SKADE); @@ -304,14 +288,8 @@ void periode_med_utsettelse_sykdom_som_ikke_er_dokumentert_skal_til_manuell_beha var utsettelseEtterFørsteUkeneDokumentert = resultat.get(3).getUttakPeriode(); assertThat(utsettelseEtterFørsteUkeneDokumentert.getUtsettelseÅrsak()).isEqualTo(SYKDOM_SKADE); assertThat(utsettelseEtterFørsteUkeneDokumentert.getFom()).isEqualTo(fødselsdato.plusWeeks(6)); - assertThat(utsettelseEtterFørsteUkeneDokumentert.getTom()).isEqualTo(fødselsdato.plusWeeks(8)); + assertThat(utsettelseEtterFørsteUkeneDokumentert.getTom()).isEqualTo(fødselsdato.plusWeeks(12).minusDays(1)); assertThat(utsettelseEtterFørsteUkeneDokumentert.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); - - var utsettelseEtterFørsteUkeneIkkeDokumentert = resultat.get(4).getUttakPeriode(); - assertThat(utsettelseEtterFørsteUkeneIkkeDokumentert.getUtsettelseÅrsak()).isEqualTo(SYKDOM_SKADE); - assertThat(utsettelseEtterFørsteUkeneIkkeDokumentert.getFom()).isEqualTo(fødselsdato.plusWeeks(8).plusDays(1)); - assertThat(utsettelseEtterFørsteUkeneIkkeDokumentert.getTom()).isEqualTo(fødselsdato.plusWeeks(12).minusDays(1)); - assertThat(utsettelseEtterFørsteUkeneIkkeDokumentert.getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); } @Test @@ -320,7 +298,7 @@ void periode_med_utsettelse_sykdom_som_ikke_er_dokumentert_skal_til_manuell_beha var grunnlag = basicUtsettelseGrunnlag(fødselsdato).søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(4).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), - SYKDOM_SKADE))); + SYKDOM_SKADE, null))); //Her skal det gis avslag (mangler dok) og trekke dager, skal velge konto å trekke fra var resultat = fastsettPerioder(grunnlag); @@ -343,11 +321,10 @@ void pleiepenger_utsettelse_skal_trekke_fra_fellesperiode() { var fødselsdato = LocalDate.of(2019, 7, 1); var grunnlag = basicUtsettelseGrunnlag(fødselsdato) .datoer(new Datoer.Builder().termin(termindato).fødsel(fødselsdato)) - .søknad(fødselSøknad().dokumentasjon(new Dokumentasjon.Builder() - .periodeMedBarnInnlagt(new PeriodeMedBarnInnlagt(fødselsdato, termindato.minusWeeks(2).minusDays(1)))) + .søknad(fødselSøknad().dokumentasjon(new Dokumentasjon.Builder()) //Starter med pleiepenger - .oppgittPeriode(utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN)) - .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato.plusWeeks(6), termindato))); + .oppgittPeriode(utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(4).minusDays(1), INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT)) + .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato.plusWeeks(4), termindato))); var resultat = fastsettPerioder(grunnlag); @@ -367,11 +344,10 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(100)); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).kontoer(kontoer) .datoer(new Datoer.Builder().termin(termindato).fødsel(fødselsdato)) - .søknad(fødselSøknad().dokumentasjon(new Dokumentasjon.Builder() - .periodeMedBarnInnlagt(new PeriodeMedBarnInnlagt(fødselsdato, termindato.minusWeeks(2).minusDays(1)))) + .søknad(fødselSøknad() //Starter med pleiepenger - .oppgittPeriode(utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN)) - .oppgittPeriode(oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), termindato))); + .oppgittPeriode(utsettelsePeriode(fødselsdato, termindato.minusDays(1), INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT)) + .oppgittPeriode(oppgittPeriode(FORELDREPENGER, termindato, termindato.plusWeeks(10)))); var resultat = fastsettPerioder(grunnlag); @@ -409,13 +385,11 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { //Mottatt dato skal ikke være relevant for utsettelse første 6 ukene hvis det er dokumentert var fødselsdato = LocalDate.of(2019, 7, 1); var utsettelse = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(4), fødselsdato.plusWeeks(6).minusDays(1), - SYKDOM_SKADE, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(8), null); + SYKDOM_SKADE, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(8), null, SYKDOM_SØKER_DOKUMENTERT); var grunnlag = basicUtsettelseGrunnlag(fødselsdato) .søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(4).minusDays(1))) - .oppgittPeriode(utsettelse) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedSykdomEllerSkade(new PeriodeMedSykdomEllerSkade(utsettelse.getFom(), utsettelse.getTom())))); + .oppgittPeriode(utsettelse)); var resultat = fastsettPerioder(grunnlag); @@ -464,16 +438,13 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { @Test void utsettelse_innvilges_tilbake_i_tid_for_bare_far_har_rett_hvis_mor_er_i_aktivitet() { var fødselsdato = LocalDate.of(2019, 10, 10); - var dok = new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(50), - PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET)); var utsettelse = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(50), - ARBEID, fødselsdato.plusWeeks(100), fødselsdato.plusWeeks(100), MorsAktivitet.UTDANNING); + ARBEID, fødselsdato.plusWeeks(100), fødselsdato.plusWeeks(100), MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var grunnlag = basicGrunnlagFar(fødselsdato) .behandling(farBehandling()) .kontoer(new Kontoer.Builder().konto(konto(FORELDREPENGER, 100))) .rettOgOmsorg(bareFarRett()) - .søknad(søknad(FØDSEL, utsettelse).dokumentasjon(dok)); + .søknad(søknad(FØDSEL, utsettelse)); var perioder = fastsettPerioder(grunnlag); @@ -489,7 +460,8 @@ void utsettelse_innvilges_tilbake_i_tid_for_bare_far_har_rett_hvis_mor_er_i_akti .søknad(fødselSøknad() .oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(3).minusDays(1))) - .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN))) + .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN, + null))) .ytelser(new Ytelser(new Pleiepenger(Set.of(new PleiepengerPeriode(fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(5).minusDays(1), true))))); @@ -516,16 +488,13 @@ void utsettelse_innvilges_tilbake_i_tid_for_bare_far_har_rett_hvis_mor_er_i_akti //Skal få avslag pga mor ikke er i aktivitet var fom = fødselsdato.plusWeeks(6); var tom = fødselsdato.plusWeeks(9); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, PeriodeMedAvklartMorsAktivitet.Resultat.IKKE_I_AKTIVITET_DOKUMENTERT)); //Skal gå tom for dager - var utsettelse = OppgittPeriode.forUtsettelse(fom, tom, FRI, fødselsdato, fødselsdato, MorsAktivitet.ARBEID); + var utsettelse = OppgittPeriode.forUtsettelse(fom, tom, FRI, fødselsdato, fødselsdato, MorsAktivitet.ARBEID, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET); var grunnlag = basicGrunnlagFar(fødselsdato) .rettOgOmsorg(bareFarRett()) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().trekkdager(10).type(FORELDREPENGER))) .søknad(new Søknad.Builder().type(FØDSEL) - .oppgittPeriode(utsettelse) - .dokumentasjon(dokumentasjon)); + .oppgittPeriode(utsettelse)); var perioder = fastsettPerioder(grunnlag); @@ -550,14 +519,12 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { //Skal få avslag pga mor ikke er i aktivitet var fom = fødselsdato.plusWeeks(6); var tom = fødselsdato.plusWeeks(9); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET)); //Skal gå tom for dager - var utsettelse = OppgittPeriode.forUtsettelse(fom, tom, FRI, fødselsdato, fødselsdato, MorsAktivitet.ARBEID); + var utsettelse = OppgittPeriode.forUtsettelse(fom, tom, FRI, fødselsdato, fødselsdato, MorsAktivitet.ARBEID, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var grunnlag = basicGrunnlagFar(fødselsdato).datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett()) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().trekkdager(10).type(FORELDREPENGER))) - .søknad(new Søknad.Builder().type(FØDSEL).oppgittPeriode(utsettelse).dokumentasjon(dokumentasjon)); + .søknad(new Søknad.Builder().type(FØDSEL).oppgittPeriode(utsettelse)); var perioder = fastsettPerioder(grunnlag); @@ -575,7 +542,7 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { var fødselsdato = LocalDate.of(2021, 1, 20); var fom = fødselsdato.minusWeeks(5); var tom = fødselsdato.minusWeeks(3).minusDays(1); - var utsettelse = utsettelsePeriode(fom, tom, FRI); + var utsettelse = utsettelsePeriode(fom, tom, FRI, null); var grunnlag = basicGrunnlagMor(fødselsdato).søknad(søknad(FØDSEL, utsettelse, oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1)), oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1)))); @@ -596,10 +563,8 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { var grunnlag = basicUtsettelseGrunnlag(fødselsdato) .datoer(new Datoer.Builder().fødsel(fødselsdato).termin(termindato)) .søknad(fødselSøknad() - .oppgittPeriode(utsettelsePeriode(fødselsdato, termindato.minusDays(1), INNLAGT_BARN)) - .oppgittPeriode(oppgittPeriode(MØDREKVOTE, termindato, termindato.plusWeeks(6))) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedBarnInnlagt(new PeriodeMedBarnInnlagt(fødselsdato, termindato.minusDays(1))))); + .oppgittPeriode(utsettelsePeriode(fødselsdato, termindato.minusDays(1), INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT)) + .oppgittPeriode(oppgittPeriode(MØDREKVOTE, termindato, termindato.plusWeeks(6)))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(3); @@ -630,7 +595,7 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { var grunnlag = basicGrunnlagFar(fødselsdato) .kontoer(defaultKontoer()) .søknad(søknad(FØDSEL, - utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), FRI), + 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) )); @@ -647,11 +612,11 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { var grunnlag = basicGrunnlagFar(fødselsdato) .kontoer(defaultKontoer().farUttakRundtFødselDager(10)) .søknad(søknad(FØDSEL, - utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), FRI), + 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), - utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), FRI), + utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), FRI, null), oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(5).minusDays(1), false, new SamtidigUttaksprosent(50)), - utsettelsePeriode(fødselsdato.plusWeeks(5), fødselsdato.plusWeeks(8).minusDays(1), FRI), + utsettelsePeriode(fødselsdato.plusWeeks(5), fødselsdato.plusWeeks(8).minusDays(1), FRI, null), oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(15)) )); @@ -692,14 +657,14 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { .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), FRI), + utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(1).minusDays(1), FRI, null), oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(2).minusDays(1)), - utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), FRI), + utsettelsePeriode(fødselsdato.plusWeeks(2), fødselsdato.plusWeeks(3).minusDays(1), FRI, null), gradertoppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(5).minusDays(1), BigDecimal.valueOf(50)), - utsettelsePeriode(fødselsdato.plusWeeks(5), fødselsdato.plusWeeks(8).minusDays(1), FRI, MorsAktivitet.ARBEID), - oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(10)) - ).dokumentasjon(new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(fødselsdato.plusWeeks(6), - fødselsdato.plusWeeks(10), PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET)))); + utsettelsePeriode(fødselsdato.plusWeeks(5), fødselsdato.plusWeeks(6).minusDays(1), FRI, MorsAktivitet.ARBEID, null), + utsettelsePeriode(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(8).minusDays(1), FRI, MorsAktivitet.ARBEID, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET), + oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(10), MORS_AKTIVITET_DOKUMENTERT_AKTIVITET) + )); var perioder = fastsettPerioder(grunnlag); @@ -734,7 +699,7 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { var grunnlag = basicGrunnlagFar(fødselsdato) .kontoer(defaultKontoer().farUttakRundtFødselDager(10)) .søknad(søknad(FØDSEL, - utsettelsePeriode(fødselsdato.minusWeeks(1), fødselsdato.plusWeeks(1).minusDays(1), FRI), + utsettelsePeriode(fødselsdato.minusWeeks(1), fødselsdato.plusWeeks(1).minusDays(1), FRI, null), oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(3), fødselsdato.plusWeeks(5).minusDays(1), false, SamtidigUttaksprosent.HUNDRED) )); @@ -762,7 +727,7 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { .rettOgOmsorg(bareFarRett()) .kontoer(new Kontoer.Builder().konto(FORELDREPENGER, 100).minsterettDager(40).farUttakRundtFødselDager(10)) .søknad(søknad(FØDSEL, - utsettelsePeriode(fødselsdato.minusWeeks(1), fødselsdato.plusWeeks(1).minusDays(1), FRI), + utsettelsePeriode(fødselsdato.minusWeeks(1), fødselsdato.plusWeeks(1).minusDays(1), FRI, null), oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(1), fødselsdato.plusWeeks(3).minusDays(1)) )); @@ -790,16 +755,13 @@ void utsettelse_akt_krav_bare_far_rett_innvilget_uten_trekk() { var fødselsdato = of(2018, 1, 1); var mottattDatoFar = fødselsdato.plusWeeks(5); var utsettelsePeriode = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10).minusDays(1), utsettelseÅrsak, mottattDatoFar, - mottattDatoFar, null); + mottattDatoFar, null, null); var fellesperiodeFom = utsettelsePeriode.getTom().plusDays(1); var fellesperiode = OppgittPeriode.forVanligPeriode(FELLESPERIODE, fellesperiodeFom, fellesperiodeFom.plusWeeks(1).minusDays(1), - null, false, PeriodeVurderingType.PERIODE_OK, mottattDatoFar, mottattDatoFar, MorsAktivitet.ARBEID); + null, false, mottattDatoFar, mottattDatoFar, MorsAktivitet.ARBEID, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var grunnlag = basicUtsettelseGrunnlag(fødselsdato) .behandling(farBehandling()) - .søknad(søknad(Søknadstype.FØDSEL, utsettelsePeriode, fellesperiode) - .dokumentasjon(new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(fellesperiode.getFom(), fellesperiode.getTom(), PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET))) - ) + .søknad(søknad(Søknadstype.FØDSEL, utsettelsePeriode, fellesperiode)) .annenPart(new AnnenPart.Builder() .uttaksperiode(AnnenpartUttakPeriode.Builder.uttak(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1)) .innvilget(true) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java index 21bcef79..ab38d5f7 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java @@ -1,5 +1,12 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.HV_OVELSE_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_BARN_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.INNLEGGELSE_SØKER_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.NAV_TILTAK_DOKUMENTERT; +import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering.SYKDOM_SØKER_DOKUMENTERT; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FEDREKVOTE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FELLESPERIODE; import static no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype.FORELDREPENGER; @@ -29,18 +36,11 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Arbeidsforhold; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Behandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.EndringAvStilling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.MorsAktivitet; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedAvklartMorsAktivitet; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedBarnInnlagt; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedHV; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedInnleggelse; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedSykdomEllerSkade; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeMedTiltakIRegiAvNav; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -57,9 +57,7 @@ void periode_med_gyldig_utsettelse_pga_barn_innlagt_i_helseinstitusjon_skal_innv oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), - INNLAGT_BARN)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt( - new PeriodeMedBarnInnlagt(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1))))); + INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -82,9 +80,7 @@ void periode_med_gyldig_utsettelse_pga_barn_innlagt_i_helseinstitusjon_skal_innv oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), - INNLAGT_SØKER)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedInnleggelse( - new PeriodeMedInnleggelse(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1))))); + INNLAGT_SØKER, INNLEGGELSE_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -107,9 +103,7 @@ void periode_med_gyldig_utsettelse_pga_barn_innlagt_i_helseinstitusjon_skal_innv oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), - SYKDOM_SKADE)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedSykdomEllerSkade( - new PeriodeMedSykdomEllerSkade(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1))))); + SYKDOM_SKADE, SYKDOM_SØKER_DOKUMENTERT))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -141,7 +135,7 @@ void periode_med_gyldig_utsettelse_pga_arbeid_skal_innvilges() { .søknad(fødselSøknad().oppgittPeriode( oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, utsettelseFom.minusDays(1))) - .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID))); + .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -172,7 +166,7 @@ void UT1110_periode_med_utsettelse_pga_arbeid_med_50_prosent_stilling_skal_manue .søknad(fødselSøknad().oppgittPeriode( oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, utsettelseFom.minusDays(1))) - .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID))) + .oppgittPeriode(utsettelsePeriode(utsettelseFom, utsettelseTom, ARBEID, null))) .arbeid(new Arbeid.Builder().arbeidsforhold(arbeidsforhold)); var resultat = fastsettPerioder(grunnlag); @@ -197,7 +191,7 @@ void periode_med_utsettelse_pga_ferie_skal_innvilges() { oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE))); + utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -220,7 +214,7 @@ void periode_med_utsettelse_pga_ferie_skal_innvilges() { oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE))); + utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -237,7 +231,7 @@ void periode_med_utsettelse_pga_ferie_skal_til_manuell_behandling_grunnet_bevege oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE))); + utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(8); @@ -300,11 +294,11 @@ void flere_perioder_med_utsettelse_pga_ferie_skal_til_manuell_behandling_grunnet oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE)) + utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), FERIE, null)) .oppgittPeriode( oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(12), fødselsdato.plusWeeks(17).minusDays(1))) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(17), fødselsdato.plusWeeks(18).minusDays(1), FERIE))); + utsettelsePeriode(fødselsdato.plusWeeks(17), fødselsdato.plusWeeks(18).minusDays(1), FERIE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(12); @@ -400,7 +394,7 @@ void periode_med_ugyldig_utsettelse_skal_til_manuell_behandling() { oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), - INNLAGT_BARN))); + INNLAGT_BARN, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -423,7 +417,7 @@ void periode_med_ugyldig_utsettelse_skal_til_manuell_behandling() { oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, LocalDate.of(2018, 12, 24))) .oppgittPeriode( - utsettelsePeriode(LocalDate.of(2018, 12, 25), LocalDate.of(2018, 12, 25), FERIE))); + utsettelsePeriode(LocalDate.of(2018, 12, 25), LocalDate.of(2018, 12, 25), FERIE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -445,7 +439,7 @@ void periode_med_ugyldig_utsettelse_skal_til_manuell_behandling() { oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(10).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(12).minusDays(1), - SYKDOM_SKADE))); + SYKDOM_SKADE, null))); var resultat = fastsettPerioder(grunnlag); assertThat(resultat).hasSize(4); @@ -468,16 +462,14 @@ void pleiepenger_utsettelse_skal_trekke_fra_fellesperiode() { var termindato = LocalDate.of(2019, 9, 1); var fødselsdato = LocalDate.of(2019, 7, 1); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).datoer(new Datoer.Builder().termin(termindato).fødsel(fødselsdato)) - .søknad(fødselSøknad().dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt( - new PeriodeMedBarnInnlagt(fødselsdato, termindato.minusWeeks(2).minusDays(1)))) + .søknad(fødselSøknad() //Starter med pleiepenger - .oppgittPeriode( - utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN)) + .oppgittPeriode(utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT)) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato.plusWeeks(6), termindato))); var resultat = fastsettPerioder(grunnlag); - assertThat(resultat).hasSize(3); + assertThat(resultat).hasSize(2); assertThat(resultat.get(0).getUttakPeriode().getUtsettelseÅrsak()).isEqualTo(INNLAGT_BARN); assertThat(resultat.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.AVSLÅTT); assertThat(resultat.get(0).getUttakPeriode().getTrekkdager(ARBEIDSFORHOLD).decimalValue()).isNotZero(); @@ -493,16 +485,15 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { var kontoer = new Kontoer.Builder().konto(new Konto.Builder().type(FORELDREPENGER).trekkdager(100)); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).kontoer(kontoer) .datoer(new Datoer.Builder().termin(termindato).fødsel(fødselsdato)) - .søknad(fødselSøknad().dokumentasjon(new Dokumentasjon.Builder().periodeMedBarnInnlagt( - new PeriodeMedBarnInnlagt(fødselsdato, termindato.minusWeeks(2).minusDays(1)))) + .søknad(fødselSøknad() //Starter med pleiepenger .oppgittPeriode( - utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN)) + utsettelsePeriode(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), INNLAGT_BARN, INNLEGGELSE_BARN_DOKUMENTERT)) .oppgittPeriode(oppgittPeriode(FORELDREPENGER, fødselsdato.plusWeeks(6), termindato))); var resultat = fastsettPerioder(grunnlag); - assertThat(resultat).hasSize(3); + assertThat(resultat).hasSize(2); assertThat(resultat.get(0).getUttakPeriode().getUtsettelseÅrsak()).isEqualTo(INNLAGT_BARN); assertThat(resultat.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.AVSLÅTT); assertThat(resultat.get(0).getUttakPeriode().getTrekkdager(ARBEIDSFORHOLD).decimalValue()).isNotZero(); @@ -517,7 +508,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { var grunnlag = basicUtsettelseGrunnlag(fødselsdato).datoer(new Datoer.Builder().fødsel(fødselsdato)) .søknad(fødselSøknad().oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(4))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(4).plusDays(1), fødselsdato.plusWeeks(8), - FERIE))); + FERIE, null))); var resultat = fastsettPerioder(grunnlag); @@ -536,7 +527,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { .datoer(new Datoer.Builder().fødsel(fødselsdato)) .søknad(fødselSøknad().oppgittPeriode(oppgittPeriode(FORELDREPENGER, fødselsdato, fødselsdato.plusWeeks(4))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(4).plusDays(1), fødselsdato.plusWeeks(8), - FERIE))); + FERIE, null))); var resultat = fastsettPerioder(grunnlag); @@ -555,7 +546,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { .datoer(new Datoer.Builder().fødsel(fødselsdato)) .søknad(fødselSøknad().oppgittPeriode(oppgittPeriode(FORELDREPENGER, fødselsdato, fødselsdato.plusWeeks(4))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(4).plusDays(1), fødselsdato.plusWeeks(8), - FERIE))); + FERIE, null))); var resultat = fastsettPerioder(grunnlag); @@ -571,7 +562,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { void utsettelse_før_søknad_mottatt_dato_skal_gå_til_manuell() { var fødselsdato = LocalDate.of(2019, 7, 1); var utsettelse = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10), - FERIE, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(8), null); + FERIE, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(8), null, null); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).søknad( fødselSøknad().oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) .oppgittPeriode(utsettelse)); @@ -591,7 +582,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { var tidligstMottattDato = fødselsdato; var senestMottattDato = fødselsdato.plusWeeks(8); var utsettelse = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(10), - FERIE, senestMottattDato, tidligstMottattDato, null); + FERIE, senestMottattDato, tidligstMottattDato, null, null); var grunnlag = basicUtsettelseGrunnlag(fødselsdato).søknad( fødselSøknad().oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) .oppgittPeriode(utsettelse)); @@ -610,9 +601,9 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { .oppgittPeriode( oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(10), fødselsdato.plusWeeks(36).minusDays(1))) .oppgittPeriode(utsettelsePeriode(fødselsdato.plusWeeks(36), fødselsdato.plusWeeks(37).minusDays(1), - FERIE)) + FERIE, null)) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(37), fødselsdato.plusWeeks(100), ARBEID))) + utsettelsePeriode(fødselsdato.plusWeeks(37), fødselsdato.plusWeeks(100), ARBEID, null))) .build(); var resultat = fastsettPerioder(uttakAvsluttetMedUtsettelse); @@ -642,7 +633,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { .build())) .søknad(new Søknad.Builder().type(FØDSEL) .oppgittPeriode( - utsettelsePeriode(fødselsdato.plusWeeks(6), LocalDate.of(2020, 1, 1), FERIE))); + utsettelsePeriode(fødselsdato.plusWeeks(6), LocalDate.of(2020, 1, 1), FERIE, null))); var perioder = fastsettPerioder(grunnlag); @@ -673,7 +664,7 @@ void pleiepenger_utsettelse_skal_trekke_fra_foreldrepenger() { Trekkdager.ZERO, Utbetalingsgrad.ZERO)) .build())) .søknad(new Søknad.Builder().type(FØDSEL) - .oppgittPeriode(utsettelsePeriode(hvFom, hvTom, HV_OVELSE))); + .oppgittPeriode(utsettelsePeriode(hvFom, hvTom, HV_OVELSE, null))); var perioder = fastsettPerioder(grunnlag); @@ -697,8 +688,7 @@ void utsettelse_pga_heimevernet_skal_innvilges_hvis_dokumentert() { Trekkdager.ZERO, Utbetalingsgrad.ZERO)) .build())) .søknad(new Søknad.Builder().type(FØDSEL) - .oppgittPeriode(utsettelsePeriode(hvFom, hvTom, HV_OVELSE)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedHV(new PeriodeMedHV(hvFom, hvTom)))); + .oppgittPeriode(utsettelsePeriode(hvFom, hvTom, HV_OVELSE, HV_OVELSE_DOKUMENTERT))); var perioder = fastsettPerioder(grunnlag); @@ -708,6 +698,28 @@ void utsettelse_pga_heimevernet_skal_innvilges_hvis_dokumentert() { assertThat(perioder.get(0).getUttakPeriode().getTrekkdager(ARBEIDSFORHOLD)).isEqualTo(Trekkdager.ZERO); } + @Test + void utsettelse_pga_heimevernet_skal_til_manuell_hvis_ikke_dokumentert() { + var fødselsdato = LocalDate.of(2019, 10, 10); + var hvFom = fødselsdato.plusWeeks(6); + var hvTom = fødselsdato.plusWeeks(7).minusDays(1); + var grunnlag = basicGrunnlagFar(fødselsdato) + .annenPart(new AnnenPart.Builder().uttaksperiode( + AnnenpartUttakPeriode.Builder.uttak(fødselsdato, hvFom.minusDays(1)) + .innvilget(true) + .uttakPeriodeAktivitet( + new AnnenpartUttakPeriodeAktivitet(AktivitetIdentifikator.forFrilans(), MØDREKVOTE, + Trekkdager.ZERO, Utbetalingsgrad.ZERO)) + .build())) + .søknad(new Søknad.Builder().type(FØDSEL) + .oppgittPeriode(utsettelsePeriode(hvFom, hvTom, HV_OVELSE, null))); + + var perioder = fastsettPerioder(grunnlag); + + assertThat(perioder).hasSize(1); + assertThat(perioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.MANUELL_BEHANDLING); + } + @Test void utsettelse_pga_tiltak_i_regi_av_nav_skal_gå_til_manuell_hvis_ikke_dokumentert() { var fødselsdato = LocalDate.of(2019, 10, 10); @@ -722,7 +734,7 @@ void utsettelse_pga_heimevernet_skal_innvilges_hvis_dokumentert() { Trekkdager.ZERO, Utbetalingsgrad.ZERO)) .build())) .søknad(new Søknad.Builder().type(FØDSEL) - .oppgittPeriode(utsettelsePeriode(tiltakFom, tiltakTom, NAV_TILTAK))); + .oppgittPeriode(utsettelsePeriode(tiltakFom, tiltakTom, NAV_TILTAK, null))); var perioder = fastsettPerioder(grunnlag); @@ -742,13 +754,10 @@ void utsettelse_pga_tiltak_i_regi_av_nav_skal_innvilges_hvis_dokumentert() { AnnenpartUttakPeriode.Builder.uttak(fødselsdato, tiltakFom.minusDays(1)) .innvilget(true) .uttakPeriodeAktivitet( - new AnnenpartUttakPeriodeAktivitet(AktivitetIdentifikator.forFrilans(), MØDREKVOTE, - Trekkdager.ZERO, Utbetalingsgrad.ZERO)) + new AnnenpartUttakPeriodeAktivitet(AktivitetIdentifikator.forFrilans(), MØDREKVOTE, Trekkdager.ZERO, Utbetalingsgrad.ZERO)) .build())) .søknad(new Søknad.Builder().type(FØDSEL) - .oppgittPeriode(utsettelsePeriode(tiltakFom, tiltakTom, NAV_TILTAK)) - .dokumentasjon(new Dokumentasjon.Builder().periodeMedTiltakViaNav( - new PeriodeMedTiltakIRegiAvNav(tiltakFom, tiltakTom)))); + .oppgittPeriode(utsettelsePeriode(tiltakFom, tiltakTom, NAV_TILTAK, NAV_TILTAK_DOKUMENTERT))); var perioder = fastsettPerioder(grunnlag); @@ -758,21 +767,39 @@ void utsettelse_pga_tiltak_i_regi_av_nav_skal_innvilges_hvis_dokumentert() { assertThat(perioder.get(0).getUttakPeriode().getTrekkdager(ARBEIDSFORHOLD)).isEqualTo(Trekkdager.ZERO); } + @Test + void utsettelse_pga_tiltak_i_regi_av_nav_skal_til_manuell_hvis_ikke_dokumentert() { + var fødselsdato = LocalDate.of(2019, 10, 10); + var tiltakFom = fødselsdato.plusWeeks(6); + var tiltakTom = fødselsdato.plusWeeks(7).minusDays(1); + var grunnlag = basicGrunnlagFar(fødselsdato) + .annenPart(new AnnenPart.Builder().uttaksperiode( + AnnenpartUttakPeriode.Builder.uttak(fødselsdato, tiltakFom.minusDays(1)) + .innvilget(true) + .uttakPeriodeAktivitet( + new AnnenpartUttakPeriodeAktivitet(AktivitetIdentifikator.forFrilans(), MØDREKVOTE, Trekkdager.ZERO, Utbetalingsgrad.ZERO)) + .build())) + .søknad(new Søknad.Builder().type(FØDSEL) + .oppgittPeriode(utsettelsePeriode(tiltakFom, tiltakTom, NAV_TILTAK, null))); + + var perioder = fastsettPerioder(grunnlag); + + assertThat(perioder).hasSize(1); + assertThat(perioder.get(0).getUttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.MANUELL_BEHANDLING); + } + //FAGSYSTEM-151437 @Test void utsettelse_skal_ikke_avslås_pga_periode_før_gyldig_dato_men_gå_til_manuell() { var fødselsdato = LocalDate.of(2019, 10, 10); - var dok = new Dokumentasjon.Builder() - .periodeMedAvklartMorsAktivitet(new PeriodeMedAvklartMorsAktivitet(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(50), - PeriodeMedAvklartMorsAktivitet.Resultat.I_AKTIVITET)); var utsettelse = OppgittPeriode.forUtsettelse(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(50), ARBEID, fødselsdato.plusWeeks(100), fødselsdato.plusWeeks(100), - MorsAktivitet.UTDANNING); + MorsAktivitet.UTDANNING, MORS_AKTIVITET_DOKUMENTERT_AKTIVITET); var grunnlag = basicGrunnlagFar(fødselsdato) .behandling(farBehandling()) .kontoer(new Kontoer.Builder().konto(konto(FORELDREPENGER, 100))) .rettOgOmsorg(bareFarRett()) - .søknad(søknad(FØDSEL, utsettelse).dokumentasjon(dok)); + .søknad(søknad(FØDSEL, utsettelse)); var perioder = fastsettPerioder(grunnlag); @@ -787,16 +814,13 @@ void utsettelse_pga_tiltak_i_regi_av_nav_skal_innvilges_hvis_dokumentert() { //Skal få avslag pga mor ikke er i aktivitet var fom = fødselsdato.plusWeeks(6); var tom = fødselsdato.plusWeeks(9); - var dokumentasjon = new Dokumentasjon.Builder().periodeMedAvklartMorsAktivitet( - new PeriodeMedAvklartMorsAktivitet(fom, tom, PeriodeMedAvklartMorsAktivitet.Resultat.IKKE_I_AKTIVITET_DOKUMENTERT)); //Skal gå tom for dager - var utsettelse = OppgittPeriode.forUtsettelse(fom, tom, ARBEID, fødselsdato, fødselsdato, MorsAktivitet.ARBEID); + var utsettelse = OppgittPeriode.forUtsettelse(fom, tom, ARBEID, fødselsdato, fødselsdato, MorsAktivitet.ARBEID, MORS_AKTIVITET_DOKUMENTERT_IKKE_AKTIVITET); var grunnlag = basicGrunnlagFar(fødselsdato) .rettOgOmsorg(bareFarRett()) .kontoer(new Kontoer.Builder().konto(new Konto.Builder().trekkdager(10).type(FORELDREPENGER))) .søknad(new Søknad.Builder().type(FØDSEL) - .oppgittPeriode(utsettelse) - .dokumentasjon(dokumentasjon)); + .oppgittPeriode(utsettelse)); var perioder = fastsettPerioder(grunnlag); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDelerAvPeriodenHarGyldigGrunnTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDelerAvPeriodenHarGyldigGrunnTest.java deleted file mode 100644 index 137bb1c0..00000000 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmDelerAvPeriodenHarGyldigGrunnTest.java +++ /dev/null @@ -1,123 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; - - -import static org.assertj.core.api.Assertions.assertThat; - -import java.time.LocalDate; -import java.util.List; - -import org.junit.jupiter.api.Test; - -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlagImpl; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.saldo.SaldoUtregningGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.saldo.SaldoUtregningTjeneste; -import no.nav.fpsak.nare.evaluation.Evaluation; -import no.nav.fpsak.nare.evaluation.Resultat; - -class SjekkOmDelerAvPeriodenHarGyldigGrunnTest { - - @Test - void begynnelsenAvPeriodenHarGyldigGrunn() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(2); - var gyldigGrunnStart = periodeStart; - var gyldigGrunnSlutt = periodeStart.plusDays(1); - - var søknadsperiode = manglendeSøktPeriode(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(søknadsperiode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var evaluation = evaluer(søknadsperiode, grunnlag); - assertThat(evaluation.result()).isEqualTo(Resultat.JA); - } - - @Test - void midtenAvPeriodenHarGyldigGrunn() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeStart.plusWeeks(3); - var gyldigGrunnSlutt = periodeStart.plusWeeks(4); - - var søknadsperiode = manglendeSøktPeriode(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(søknadsperiode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var evaluation = evaluer(søknadsperiode, grunnlag); - assertThat(evaluation.result()).isEqualTo(Resultat.JA); - } - - @Test - void sluttenAvPeriodenHarGyldigGrunn() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeStart.plusWeeks(5); - var gyldigGrunnSlutt = periodeSlutt; - - var søknadsperiode = manglendeSøktPeriode(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(søknadsperiode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var evaluation = evaluer(søknadsperiode, grunnlag); - assertThat(evaluation.result()).isEqualTo(Resultat.JA); - } - - @Test - void helePeriodenErUgyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var søknadsperiode = manglendeSøktPeriode(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(søknadsperiode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(periodeStart.minusWeeks(1), periodeStart.minusDays(1))) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(periodeSlutt.plusDays(1), periodeSlutt.plusWeeks(1))))) - .build(); - - var evaluation = evaluer(søknadsperiode, grunnlag); - assertThat(evaluation.result()).isEqualTo(Resultat.NEI); - } - - @Test - void ingenGyldigGrunnPerioder() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var søknadsperiode = manglendeSøktPeriode(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(søknadsperiode)) - .build(); - - var evaluation = evaluer(søknadsperiode, grunnlag); - assertThat(evaluation.result()).isEqualTo(Resultat.NEI); - } - - private Evaluation evaluer(OppgittPeriode søknadsperiode, RegelGrunnlag grunnlag) { - var saldoUtregningGrunnlag = SaldoUtregningGrunnlag.forUtregningAvDelerAvUttak(List.of(), List.of(), grunnlag, - søknadsperiode.getFom()); - return new SjekkOmDelerAvPeriodenHarGyldigGrunn().evaluate( - new FastsettePeriodeGrunnlagImpl(grunnlag, null, SaldoUtregningTjeneste.lagUtregning(saldoUtregningGrunnlag), - søknadsperiode)); - } - - private OppgittPeriode manglendeSøktPeriode(Stønadskontotype stønadskontotype, LocalDate fom, LocalDate tom) { - return OppgittPeriode.forManglendeSøkt(stønadskontotype, fom, tom); - } - -} diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmF\303\270rsteDelAvPeriodenHarGyldigGrunnTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmF\303\270rsteDelAvPeriodenHarGyldigGrunnTest.java" deleted file mode 100644 index 4bdd84c6..00000000 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmF\303\270rsteDelAvPeriodenHarGyldigGrunnTest.java" +++ /dev/null @@ -1,58 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.time.LocalDate; - -import org.junit.jupiter.api.Test; - -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlagImpl; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; -import no.nav.fpsak.nare.evaluation.Resultat; - -class SjekkOmFørsteDelAvPeriodenHarGyldigGrunnTest { - - @Test - void førsteDelGyldigGrunn() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var msp = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(msp) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(periodeStart, periodeStart.plusDays(1))))) - .build(); - - assertThat(evaluer(grunnlag, msp)).isEqualTo(Resultat.JA); - } - - @Test - void førsteDelIkkeGyldigGrunn() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var msp = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().oppgittPeriode(msp) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(periodeSlutt.minusDays(2), periodeSlutt)))) - .build(); - - assertThat(evaluer(grunnlag, msp)).isEqualTo(Resultat.NEI); - } - - private Resultat evaluer(RegelGrunnlag grunnlag, OppgittPeriode søknadsperiode) { - var sjekkOmFørsteDelHarGyldigGrunn = new SjekkOmFørsteDelAvPeriodenHarGyldigGrunn(); - var evaluation = sjekkOmFørsteDelHarGyldigGrunn.evaluate( - new FastsettePeriodeGrunnlagImpl(grunnlag, null, null, søknadsperiode)); - return evaluation.result(); - } - -} diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigUtsettelseM\303\270drekvoteHelePeriodenTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigUtsettelseM\303\270drekvoteHelePeriodenTest.java" deleted file mode 100644 index cc36b78b..00000000 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmGyldigUtsettelseM\303\270drekvoteHelePeriodenTest.java" +++ /dev/null @@ -1,211 +0,0 @@ -package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser; - - -import static org.assertj.core.api.Assertions.assertThat; - -import java.time.LocalDate; - -import org.junit.jupiter.api.Test; - -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlagImpl; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.RegelGrunnlagTestBuilder; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Dokumentasjon; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.GyldigGrunnPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; -import no.nav.fpsak.nare.evaluation.Resultat; - -class SjekkOmGyldigUtsettelseMødrekvoteHelePeriodenTest { - - - @Test - void ingenGyldigGrunnPeriode() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(2); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(uttakPeriode)) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - @Test - void helePeriodeErUgyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(2); - var gyldigGrunnStart = periodeStart.minusWeeks(1); - var gyldigGrunnSlutt = periodeStart.minusDays(1); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - - @Test - void bareBegynnelseAvPeriodeErGyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeStart.minusWeeks(1); - var gyldigGrunnSlutt = periodeStart.plusWeeks(1); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - @Test - void sisteDagIPeriodenErUgyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeStart.minusWeeks(1); - var gyldigGrunnSlutt = periodeSlutt.minusDays(1); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - @Test - void bareMidtenAvPeriodenErGyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeStart.plusWeeks(1); - var gyldigGrunnSlutt = gyldigGrunnStart.plusDays(5); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - @Test - void bareSluttenAvPeriodenErGyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeSlutt.minusWeeks(1); - var gyldigGrunnSlutt = periodeSlutt.plusDays(5); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - @Test - void bareBegynnelsenOgSluttenAvPeriodenErGyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(periodeStart.minusDays(1), periodeStart.plusDays(7))) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(periodeSlutt.minusDays(5), periodeSlutt.plusDays(1))))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.NEI); - } - - @Test - void helePeriodenGyldig() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - var gyldigGrunnStart = periodeStart; - var gyldigGrunnSlutt = periodeSlutt; - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(gyldigGrunnStart, gyldigGrunnSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.JA); - } - - @Test - void helePeriodenGyldigMedFlereGyldigGrunnPerioder() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(periodeStart, periodeStart.plusDays(7))) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(periodeStart.plusDays(8), periodeSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.JA); - } - - @Test - void helePeriodenGyldigMedFlereGyldigGrunnPerioderSomOverlapper() { - var periodeStart = LocalDate.now().plusMonths(1); - var periodeSlutt = periodeStart.plusWeeks(6); - - var uttakPeriode = OppgittPeriode.forManglendeSøkt(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt); - var grunnlag = RegelGrunnlagTestBuilder.create() - .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) - .oppgittPeriode(uttakPeriode) - .dokumentasjon(new Dokumentasjon.Builder().gyldigGrunnPeriode( - new GyldigGrunnPeriode(periodeStart, periodeStart.plusDays(10))) - .gyldigGrunnPeriode(new GyldigGrunnPeriode(periodeStart.plusDays(7), periodeSlutt)))) - .build(); - - var resultat = evaluer(uttakPeriode, grunnlag); - assertThat(resultat).isEqualTo(Resultat.JA); - } - - private Resultat evaluer(OppgittPeriode oppgittPeriode, RegelGrunnlag grunnlag) { - return new SjekkOmGyldigUtsettelseMødrekvoteHelePerioden().evaluate( - new FastsettePeriodeGrunnlagImpl(grunnlag, null, null, oppgittPeriode)).result(); - } -} diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTidsperiodeForbeholdtMorTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTidsperiodeForbeholdtMorTest.java index 46010756..803a03e1 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTidsperiodeForbeholdtMorTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTidsperiodeForbeholdtMorTest.java @@ -12,6 +12,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlagImpl; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Datoer; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.DokumentasjonVurdering; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; @@ -95,7 +96,7 @@ private FastsettePeriodeGrunnlagImpl grunnlag(LocalDate familiehendelse, LocalDa .søknad(new Søknad.Builder().type(FØDSEL)) .build(); var aktuellPeriode = OppgittPeriode.forUtsettelse(periodeFom, periodeTom, - INNLAGT_SØKER, periodeFom, periodeFom, INNLAGT); + INNLAGT_SØKER, periodeFom, periodeFom, INNLAGT, DokumentasjonVurdering.INNLEGGELSE_SØKER_DOKUMENTERT); return new FastsettePeriodeGrunnlagImpl(regelGrunnlag, null, null, aktuellPeriode); } } diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTomForAlleSineKontoerTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTomForAlleSineKontoerTest.java index 5b962605..8f68c6d8 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTomForAlleSineKontoerTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmTomForAlleSineKontoerTest.java @@ -16,7 +16,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RegelGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.RettOgOmsorg; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; @@ -52,7 +51,7 @@ class SjekkOmTomForAlleSineKontoerTest { var periodeSlutt = periodeStart.plusWeeks(6); var uttakPeriode = OppgittPeriode.forVanligPeriode(Stønadskontotype.MØDREKVOTE, periodeStart, periodeSlutt, null, false, - PeriodeVurderingType.IKKE_VURDERT, null, null, null); + null, null, null, null); var kontoer = new Kontoer.Builder().konto( new Konto.Builder().type(Stønadskontotype.MØDREKVOTE).trekkdager(15 * 5)) .konto(new Konto.Builder().type(Stønadskontotype.FELLESPERIODE).trekkdager(10 * 5)); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/utfall/TomKontoIdentifisererTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/utfall/TomKontoIdentifisererTest.java index fccc1fac..a7f7b006 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/utfall/TomKontoIdentifisererTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/utfall/TomKontoIdentifisererTest.java @@ -15,7 +15,6 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Konto; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Kontoer; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.OppgittPeriode; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.PeriodeVurderingType; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknad; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.saldo.SaldoUtregningGrunnlag; @@ -58,7 +57,7 @@ private void verifiserKnekkpunktVedGradering(int søktOmDag, int saldo, BigDecim var idag = LocalDate.of(2019, 3, 14); var oppgittPeriode = OppgittPeriode.forGradering(Stønadskontotype.MØDREKVOTE, idag, idag.plusDays(søktOmDag - 1), - arbeidsprosent, null, false, Set.of(ARBEIDSFORHOLD_1), PeriodeVurderingType.IKKE_VURDERT, null, null, null); + arbeidsprosent, null, false, Set.of(ARBEIDSFORHOLD_1), null, null, null, null); var kontoer = new Kontoer.Builder().konto( new Konto.Builder().type(Stønadskontotype.MØDREKVOTE).trekkdager(saldo)); var grunnlag = RegelGrunnlagTestBuilder.create()