Skip to content

Commit 258f7de

Browse files
committed
UNG - Fikser NPE ved henting av søknadsperiode
Legger til tester
1 parent 9de123d commit 258f7de

File tree

5 files changed

+114
-0
lines changed

5 files changed

+114
-0
lines changed

soknad/src/main/java/no/nav/k9/søknad/ytelse/ung/v1/Ungdomsytelse.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public Person getAnnenPart() {
7878
final var tom = perioder
7979
.stream()
8080
.map(Periode::getTilOgMed)
81+
.filter(Objects::nonNull)
8182
.max(LocalDate::compareTo)
8283
.orElse(null);
8384
return new Periode(fom, tom);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package no.nav.k9.søknad.ytelse.ung;
2+
3+
import no.nav.k9.søknad.Søknad;
4+
import no.nav.k9.søknad.felles.Versjon;
5+
import no.nav.k9.søknad.felles.personopplysninger.Søker;
6+
import no.nav.k9.søknad.felles.type.NorskIdentitetsnummer;
7+
import no.nav.k9.søknad.felles.type.SøknadId;
8+
import no.nav.k9.søknad.ytelse.ung.v1.Ungdomsytelse;
9+
10+
import java.time.ZonedDateTime;
11+
12+
public class SøknadEksempel {
13+
14+
public static Søknad søknad(Ungdomsytelse ytelse) {
15+
return new Søknad(
16+
new SøknadId("1"),
17+
new Versjon("6.0.1"),
18+
ZonedDateTime.now(),
19+
new Søker(NorskIdentitetsnummer.of("22222222222")),
20+
ytelse
21+
);
22+
}
23+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package no.nav.k9.søknad.ytelse.ung;
2+
3+
import no.nav.k9.søknad.felles.type.Periode;
4+
import no.nav.k9.søknad.ytelse.ung.v1.Ungdomsytelse;
5+
6+
public class YtelseEksempel {
7+
8+
public static Ungdomsytelse komplettYtelseMedSøknadsperiode(Periode søknadsperiode) {
9+
10+
return new Ungdomsytelse()
11+
.medSøknadsperiode(søknadsperiode);
12+
}
13+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package no.nav.k9.søknad.ytelse.ung.v1;
2+
3+
import no.nav.k9.søknad.Søknad;
4+
import no.nav.k9.søknad.ValideringsFeil;
5+
import no.nav.k9.søknad.felles.Feil;
6+
import no.nav.k9.søknad.felles.type.Periode;
7+
import no.nav.k9.søknad.ytelse.pls.v1.PleiepengerLivetsSluttfaseSøknadValidator;
8+
9+
import java.util.List;
10+
11+
import static org.assertj.core.api.Assertions.assertThat;
12+
13+
public class ValiderUtil {
14+
15+
private static final UngdomsytelseSøknadValidator validatorSøknad = new UngdomsytelseSøknadValidator();
16+
17+
public static List<Feil> verifyHarFeil(Søknad søknad) {
18+
final List<Feil> feil = valider(søknad);
19+
assertThat(feil).isNotEmpty();
20+
return feil;
21+
}
22+
23+
public static List<Feil> verifyHarFeil(Søknad søknad, List<Periode> endringsperioder) {
24+
final List<Feil> feil = valider(søknad, endringsperioder);
25+
assertThat(feil).isNotEmpty();
26+
return feil;
27+
}
28+
29+
public static List<Feil> verifyIngenFeil(Søknad søknad) {
30+
final List<Feil> feil = valider(søknad);
31+
assertThat(feil).isEmpty();
32+
return feil;
33+
}
34+
35+
public static List<Feil> verifyIngenFeil(Søknad søknad, List<Periode> gyldigEndringsInterval) {
36+
final List<Feil> feil = valider(søknad, gyldigEndringsInterval);
37+
assertThat(feil).isEmpty();
38+
return feil;
39+
}
40+
41+
public static List<Feil> valider(Søknad søknad) {
42+
try {
43+
return validatorSøknad.valider(søknad);
44+
} catch (ValideringsFeil ex) {
45+
return ex.getFeil();
46+
}
47+
}
48+
49+
public static List<Feil> valider(Søknad søknad, List<Periode> gyldigEndringsInterval) {
50+
try {
51+
return validatorSøknad.valider(søknad, gyldigEndringsInterval);
52+
} catch (ValideringsFeil ex) {
53+
return ex.getFeil();
54+
}
55+
}
56+
57+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package no.nav.k9.søknad.ytelse.ung.v1;
2+
3+
import no.nav.k9.søknad.felles.type.Periode;
4+
import no.nav.k9.søknad.ytelse.ung.SøknadEksempel;
5+
import no.nav.k9.søknad.ytelse.ung.YtelseEksempel;
6+
import org.junit.jupiter.api.Assertions;
7+
import org.junit.jupiter.api.Test;
8+
9+
import java.time.LocalDate;
10+
11+
class ValideringTest {
12+
13+
@Test
14+
void verifiserHentingAvSøknadsperiodeUtenTomDatoIkkeFeiler() {
15+
var søknadsperiode = new Periode(LocalDate.now(), null);
16+
var ytelse = YtelseEksempel.komplettYtelseMedSøknadsperiode(søknadsperiode);
17+
ValiderUtil.verifyIngenFeil(SøknadEksempel.søknad(ytelse));
18+
Assertions.assertDoesNotThrow(ytelse::getSøknadsperiode);
19+
}
20+
}

0 commit comments

Comments
 (0)