Skip to content

Commit af70a49

Browse files
Lagt på at fom eller tom i periode ikke kan være null for psb (#149)
1 parent 0d9e09e commit af70a49

File tree

2 files changed

+39
-2
lines changed

2 files changed

+39
-2
lines changed

soknad/src/main/java/no/nav/k9/søknad/TidsserieValidator.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.Collections;
1313
import java.util.List;
1414
import java.util.Map;
15+
import java.util.Objects;
1516
import java.util.stream.Collectors;
1617

1718
public class TidsserieValidator {
@@ -54,7 +55,13 @@ public static List<Periode> toPeriodeList(LocalDateTimeline<?> t) {
5455
}
5556

5657
public static LocalDateTimeline<Boolean> toLocalDateTimeline(List<Periode> perioder) throws IllegalArgumentException{
57-
return new LocalDateTimeline<Boolean>(perioder.stream().map(p -> new LocalDateSegment<Boolean>(p.getFraOgMed(), p.getTilOgMed(), true)).collect(Collectors.toList())).compress();
58+
return new LocalDateTimeline<Boolean>(perioder
59+
.stream()
60+
.map(p -> new LocalDateSegment<Boolean>(
61+
Objects.requireNonNull(p.getFraOgMed()),
62+
Objects.requireNonNull(p.getTilOgMed()),
63+
true))
64+
.collect(Collectors.toList())).compress();
5865
}
5966

6067
public static LocalDateTimeline<Boolean> toLocalDateTimeline(Map<Periode, ?> periodeMap) {

soknad/src/test/java/no/nav/k9/søknad/ytelse/psb/PleiepengerBarnSøknadValidatorTest.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import java.time.Duration;
3030
import java.time.LocalDate;
31+
import java.util.ArrayList;
3132
import java.util.List;
3233
import java.util.Map;
3334

@@ -297,7 +298,36 @@ public void perioderIkkekompletIkkeHelg() {
297298
}
298299

299300
@Test
300-
public void ÅpneOgOverlappendePerioderForFrilanserOgSelvstendig() {
301+
public void søknadsperiodeInneholderÅpnePerioder() {
302+
var søknadsperiode = new Periode(LocalDate.now(), null);
303+
var psb = TestUtils.minimumSøknadPleiepengerSyktBarn(søknadsperiode);
304+
try {
305+
final List<Feil> feil = valider(psb);
306+
assertThat(feil).isEmpty();
307+
} catch (NullPointerException e) {
308+
var feil = new ArrayList<>();
309+
feil.add(new Feil("søknad", "NullPointerException", "Null"));
310+
assertThat(feil).isNotEmpty();
311+
}
312+
}
313+
314+
@Test
315+
public void tilsynnInneholderÅpnePerioder() {
316+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
317+
var psb = TestUtils.minimumSøknadPleiepengerSyktBarn(søknadsperiode);
318+
psb.medTilsynsordning(new Tilsynsordning().medPerioder(Map.of(new Periode(LocalDate.now(), null), new TilsynPeriodeInfo().medEtablertTilsynTimerPerDag(Duration.ofHours(7)))));
319+
try {
320+
final List<Feil> feil = valider(psb);
321+
assertThat(feil).isEmpty();
322+
} catch (NullPointerException e) {
323+
var feil = new ArrayList<>();
324+
feil.add(new Feil("søknad", "NullPointerException", "Null"));
325+
assertThat(feil).isNotEmpty();
326+
}
327+
}
328+
329+
@Test
330+
public void åpneOgOverlappendePerioderForFrilanserOgSelvstendig() {
301331
var søknad = TestUtils.komplettYtelsePsbMedDelperioder();
302332
var selvstendig = SelvstendigNæringsdrivende.SelvstendigNæringsdrivendePeriodeInfo.builder()
303333
.virksomhetstyper(List.of(VirksomhetType.ANNEN)).build();

0 commit comments

Comments
 (0)