Skip to content

Commit a14af1b

Browse files
authored
Validerer lovbestemtFerie mot søknadsperiode for PILS. (#322)
* Validerer lovbestemtFerie mot søknadsperiode for PILS. * Håndterer potensiell NPE.
1 parent 8346562 commit a14af1b

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

soknad/src/main/java/no/nav/k9/søknad/ytelse/pls/v1/PleiepengerLivetsSluttfasePerioderMedEndringUtil.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import no.nav.k9.søknad.TidsserieUtils;
99
import no.nav.k9.søknad.felles.type.Periode;
10+
import no.nav.k9.søknad.ytelse.psb.v1.LovbestemtFerie;
1011
import no.nav.k9.søknad.ytelse.psb.v1.PerioderMedEndring;
1112
import no.nav.k9.søknad.ytelse.psb.v1.PerioderMedEndringUtil;
1213

@@ -23,6 +24,11 @@ public static List<Periode> getEndringsperiode(PleipengerLivetsSluttfase ppn) {
2324
public static List<PerioderMedEndring> getAllePerioderSomMåVæreInnenforSøknadsperiode(PleipengerLivetsSluttfase ppn) {
2425
var listen = new ArrayList<PerioderMedEndring>();
2526
listen.add(new PerioderMedEndring().medPerioder("uttak", ppn.getUttak().getPerioder()));
27+
LovbestemtFerie lovbestemtFerie = ppn.getLovbestemtFerie();
28+
if (lovbestemtFerie != null && lovbestemtFerie.getPerioder() != null) {
29+
listen.add(new PerioderMedEndring().medPerioder("lovbestemtFerie", lovbestemtFerie.getPerioder()));
30+
}
31+
2632
listen.addAll(PerioderMedEndringUtil.getArbeidstidPerioder(ppn.getArbeidstid()));
2733
return listen;
2834
}

soknad/src/test/java/no/nav/k9/søknad/ytelse/pls/v1/SøknadTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,27 @@ public void bostederKanIkkeHaInvertertePerioder() {
117117
assertThat(feil).size().isEqualTo(3);
118118
}
119119

120+
@Test
121+
public void lovbestemtFerieKanIkkeVæreUtenforSøknadsperiode() {
122+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
123+
var lovbestemtFerie = new Periode(LocalDate.now().minusMonths(2), søknadsperiode.getTilOgMed());
124+
125+
var ytelse = YtelseEksempel.ytelseForArbeidstaker(søknadsperiode);
126+
var søknad = SøknadEksempel.søknad(ytelse);
127+
((PleipengerLivetsSluttfase) søknad.getYtelse()).medLovbestemtFerie(YtelseEksempel.lagLovbestemtFerie(lovbestemtFerie));
128+
129+
verifyHarFeil(søknad);
130+
}
120131

132+
@Test
133+
public void lovbestemtFerieISøknadsperiodeFeilerIkke() {
134+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
135+
var lovbestemtFerie = new Periode(LocalDate.now().plusMonths(2), søknadsperiode.getTilOgMed());
136+
137+
var ytelse = YtelseEksempel.ytelseForArbeidstaker(søknadsperiode);
138+
var søknad = SøknadEksempel.søknad(ytelse);
139+
((PleipengerLivetsSluttfase) søknad.getYtelse()).medLovbestemtFerie(YtelseEksempel.lagLovbestemtFerie(lovbestemtFerie));
140+
141+
verifyIngenFeil(søknad);
142+
}
121143
}

soknad/src/test/java/no/nav/k9/søknad/ytelse/pls/v1/YtelseEksempel.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import no.nav.k9.søknad.felles.type.Landkode;
1212
import no.nav.k9.søknad.felles.type.Organisasjonsnummer;
1313
import no.nav.k9.søknad.felles.type.Periode;
14+
import no.nav.k9.søknad.ytelse.psb.v1.LovbestemtFerie;
1415
import no.nav.k9.søknad.ytelse.psb.v1.Uttak;
1516
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstaker;
1617
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstid;
@@ -49,6 +50,11 @@ public static Bosteder lagBosteder(Periode... perioder) {
4950
lagPerioder(perioder, bostedPeriodeInfo));
5051
}
5152

53+
public static LovbestemtFerie lagLovbestemtFerie(Periode... perioder) {
54+
LovbestemtFerie.LovbestemtFeriePeriodeInfo feriePeriodeInfo = new LovbestemtFerie.LovbestemtFeriePeriodeInfo().medSkalHaFerie(true);
55+
return new LovbestemtFerie().medPerioder(lagPerioder(perioder, feriePeriodeInfo));
56+
}
57+
5258
public static Utenlandsopphold lagUtenlandsopphold(Periode... perioder) {
5359
//TODO PLS denne årsaken gir ingen mening for ytelsen?
5460
return lagUtenlandsopphold(Utenlandsopphold.UtenlandsoppholdÅrsak.BARNET_INNLAGT_I_HELSEINSTITUSJON_FOR_NORSK_OFFENTLIG_REGNING, perioder);

0 commit comments

Comments
 (0)