Skip to content

Commit bc9cc47

Browse files
lagt til og ryddet i psb tester (#181)
* lagt til og ryddet i psb tester * fikset tester og lagt til overlappendeperioderTest * fikset ubrukt variabel
1 parent 14d188a commit bc9cc47

File tree

10 files changed

+346
-256
lines changed

10 files changed

+346
-256
lines changed

soknad/src/main/java/no/nav/k9/søknad/ytelse/psb/v1/Omsorg.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public Omsorg medRelasjonTilBarnet(BarnRelasjon relasjonTilBarnet) {
3232
return this;
3333
}
3434

35-
//TODO optional returverdi
3635
public Optional<String> getBeskrivelseAvOmsorgsrollen() {
3736
return Optional.ofNullable(beskrivelseAvOmsorgsrollen);
3837
}

soknad/src/main/java/no/nav/k9/søknad/ytelse/psb/v1/PleiepengerSyktBarnYtelseValidator.java

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,7 @@ public List<Feil> valider(Ytelse ytelse) {
3737
manglerIkkeSøknadEllerEndringsPerioder(psb, feil);
3838
validerKomplettSøknad(psb, feil);
3939
validerAllePerioder(psb, feil);
40-
41-
42-
if(feil.isEmpty()) {
43-
validerPerioderErKomplettOgGyldig(psb, feil);
44-
}
45-
46-
//TODO valider OpptjeningAktivitet ??
47-
//TODO valider Omsorg
48-
//TODO valider Bosterder
49-
//TODO valider Utlandsopphold
50-
51-
//TODO validere at felter som bare kan være i en søknad er satt hvis det er en søknadsperiode.
40+
validerPerioderErKomplettOgGyldig(psb, feil);
5241

5342
return feil;
5443
}
@@ -103,15 +92,15 @@ private List<Feil> innenforGyldigperiode(TidsserieValidator.Perioder tidsserier,
10392
var feil = new ArrayList<Feil>();
10493
finnPerioderUtenfor(
10594
toLocalDateTimeline(periodeMap, felt, feil), tidsserier)
106-
.valider("beredskap", feil);
95+
.valider(felt, feil);
10796
return feil;
10897
}
10998

11099
private List<Feil> komplettOginnenforGyldigperiode(TidsserieValidator.Perioder tidsserier, Map<Periode, ?> periodeMap, String felt) {
111100
var feil = new ArrayList<Feil>();
112101
finnIkkeKomplettePerioderOgPerioderUtenfor(
113102
toLocalDateTimeline(periodeMap, felt, feil), tidsserier)
114-
.valider("uttak", feil);
103+
.valider(felt, feil);
115104
return feil;
116105
}
117106

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
package no.nav.k9.søknad.ytelse.psb;
2+
3+
import static no.nav.k9.søknad.ytelse.psb.TestUtils.feilInneholderFeilkode;
4+
import static no.nav.k9.søknad.ytelse.psb.TestUtils.feilInneholderFeltOgFeilkode;
5+
import static no.nav.k9.søknad.ytelse.psb.ValiderUtil.verifyHarFeil;
6+
import static no.nav.k9.søknad.ytelse.psb.ValiderUtil.verifyIngenFeil;
7+
8+
import java.time.Duration;
9+
import java.time.LocalDate;
10+
import java.util.Map;
11+
12+
import org.junit.jupiter.api.Test;
13+
14+
import no.nav.k9.søknad.felles.type.Periode;
15+
import no.nav.k9.søknad.ytelse.psb.v1.Beredskap;
16+
import no.nav.k9.søknad.ytelse.psb.v1.Nattevåk;
17+
import no.nav.k9.søknad.ytelse.psb.v1.Uttak;
18+
import no.nav.k9.søknad.ytelse.psb.v1.UttakPeriodeInfo;
19+
import no.nav.k9.søknad.ytelse.psb.v1.tilsyn.TilsynPeriodeInfo;
20+
21+
class EndringTest {
22+
23+
@Test
24+
public void endringssøknadUtenFeil() {
25+
var endringsperiode = new Periode(LocalDate.now().minusMonths(1), LocalDate.now().plusMonths(1));
26+
var ytelse = YtelseEksempel.minimumEndringssøknad(endringsperiode);
27+
28+
verifyIngenFeil(ytelse);
29+
}
30+
31+
@Test
32+
public void endringssøknadMedSøknadsperioderUtenFeil() {
33+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
34+
var endringsperiode = new Periode(LocalDate.now().minusMonths(2), LocalDate.now().minusDays(1));
35+
36+
var endringssøknad = YtelseEksempel.minimumYtelseMedEndring(søknadsperiode, endringsperiode);
37+
verifyIngenFeil(endringssøknad);
38+
39+
}
40+
41+
@Test
42+
public void endringssøknadMedIkkeKomplettUttak() {
43+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
44+
var endringsperiode = new Periode(LocalDate.now().minusMonths(2), LocalDate.now().minusDays(1));
45+
46+
var ytelse = YtelseEksempel.komplettYtelse(søknadsperiode);
47+
ytelse.medUttak(new Uttak().medPerioder(Map.of(
48+
endringsperiode, new UttakPeriodeInfo(Duration.ofHours(8)))));
49+
50+
ytelse.medEndringsperiode(endringsperiode);
51+
52+
var feil = verifyHarFeil(ytelse);
53+
feilInneholderFeltOgFeilkode(feil, "uttak.perioder", "ikkeKomplettPeriode");
54+
}
55+
56+
@Test
57+
public void endringssøknadMedPerioderUtenforGyldigperiode() {
58+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
59+
var endringsperiode = new Periode(LocalDate.now().minusMonths(2), LocalDate.now().minusDays(1));
60+
var periodeUtenfor = new Periode(endringsperiode.getFraOgMed().minusMonths(1), endringsperiode.getFraOgMed().minusDays(1));
61+
62+
var ytelse = YtelseEksempel.komplettYtelse(søknadsperiode);
63+
64+
ytelse.medEndringsperiode(endringsperiode);
65+
ytelse.getUttak().leggeTilPeriode(periodeUtenfor, new UttakPeriodeInfo(Duration.ofHours(8)));
66+
ytelse.getTilsynsordning().leggeTilPeriode(periodeUtenfor, new TilsynPeriodeInfo().medEtablertTilsynTimerPerDag(Duration.ofHours(7)));
67+
ytelse.getBeredskap().leggeTilPeriode(periodeUtenfor, new Beredskap.BeredskapPeriodeInfo().medTilleggsinformasjon(TestUtils.testTekst()));
68+
ytelse.getNattevåk().leggeTilPeriode(periodeUtenfor, new Nattevåk.NattevåkPeriodeInfo().medTilleggsinformasjon(TestUtils.testTekst()));
69+
70+
var feil = verifyHarFeil(ytelse);
71+
feilInneholderFeilkode(feil, "ugyldigPeriode");
72+
feilInneholderFeltOgFeilkode(feil, "beredskap.perioder", "ugyldigPeriode");
73+
feilInneholderFeltOgFeilkode(feil, "nattevåk.perioder", "ugyldigPeriode");
74+
feilInneholderFeltOgFeilkode(feil, "tilsynsordning.perioder", "ugyldigPeriode");
75+
feilInneholderFeltOgFeilkode(feil, "uttak.perioder", "ugyldigPeriode");
76+
}
77+
78+
@Test
79+
public void endringssøknadPeriodeKanIkkeHaFomFørTom() {
80+
var søknadsperiode = new Periode(LocalDate.now(), LocalDate.now());
81+
var psb = YtelseEksempel.komplettYtelse(søknadsperiode);
82+
psb.medEndringsperiode(new Periode(LocalDate.now().plusDays(2), LocalDate.now()));
83+
84+
var feil = verifyHarFeil(psb);
85+
feilInneholderFeilkode(feil, "ugyldigPeriode"); }
86+
87+
}

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

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

55
import java.util.List;
66

7-
import org.junit.jupiter.api.Disabled;
87
import org.junit.jupiter.api.Test;
98

109
import no.nav.k9.søknad.Søknad;
@@ -39,7 +38,6 @@ private List<Feil> valider(Søknad søknad) {
3938
assertThat(feil).isEmpty();
4039
}
4140

42-
@Disabled
4341
@Test
4442
public void komplettSøknadGammelVersjonSkalIkkeHaValideringsfeil() {
4543
var søknad = SøknadJsonEksempel.komplettGammelVersjonSøknadJson();

soknad/src/test/java/no/nav/k9/søknad/ytelse/psb/SøknadEksempel.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,25 @@
88
import no.nav.k9.søknad.felles.type.NorskIdentitetsnummer;
99
import no.nav.k9.søknad.felles.type.Periode;
1010
import no.nav.k9.søknad.felles.type.SøknadId;
11+
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarn;
1112

1213
class SøknadEksempel {
1314

14-
public static Søknad komplettSøknad(Periode søknadsperiode) {
15+
public static Søknad søknad(PleiepengerSyktBarn ytelse) {
1516
return new Søknad(
1617
new SøknadId("1"),
1718
new Versjon("5.4.8"),
1819
ZonedDateTime.now(),
1920
new Søker(NorskIdentitetsnummer.of("11111111111")),
20-
YtelseEksempel.komplettYtelsePsb(søknadsperiode)
21+
ytelse
2122
);
23+
}
24+
25+
public static Søknad komplettSøknad(Periode søknadsperiode) {
26+
return søknad(YtelseEksempel.komplettYtelse(søknadsperiode));
27+
}
2228

29+
public static Søknad minimumSøknad(Periode søknadsperiode) {
30+
return søknad(YtelseEksempel.minimumYtelse(søknadsperiode));
2331
}
2432
}
Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,41 @@
11
package no.nav.k9.søknad.ytelse.psb;
22

33
import static no.nav.k9.søknad.ytelse.psb.TestUtils.feilListInneholderFeil;
4-
import static org.assertj.core.api.Assertions.assertThat;
4+
import static no.nav.k9.søknad.ytelse.psb.ValiderUtil.verifyHarFeil;
5+
import static no.nav.k9.søknad.ytelse.psb.ValiderUtil.verifyIngenFeil;
56

67
import java.time.LocalDate;
7-
import java.util.List;
88

99
import org.junit.jupiter.api.Test;
1010

1111
import no.nav.k9.søknad.Søknad;
12-
import no.nav.k9.søknad.ValideringsFeil;
1312
import no.nav.k9.søknad.felles.Feil;
1413
import no.nav.k9.søknad.felles.personopplysninger.Søker;
1514
import no.nav.k9.søknad.felles.type.NorskIdentitetsnummer;
1615
import no.nav.k9.søknad.felles.type.Periode;
17-
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarnSøknadValidator;
1816

1917
class SøknadTest {
20-
private static final PleiepengerSyktBarnSøknadValidator validator = new PleiepengerSyktBarnSøknadValidator();
21-
public static final Søknad KOMPLETT_SØKNAD = SøknadEksempel.komplettSøknad(new Periode(LocalDate.now(), LocalDate.now().plusMonths(2)));
22-
protected static final String PÅKREVD = "påkrevd";
23-
protected static final String UGYLDIG_ARGUMENT = "ugyldig argument";
18+
private static final Periode TEST_PERIODE = new Periode(LocalDate.now(), LocalDate.now().plusMonths(2));
19+
private static final Søknad KOMPLETT_SØKNAD = SøknadEksempel.komplettSøknad(TEST_PERIODE);
20+
private static final Søknad MINIMUM_SØKNAD = SøknadEksempel.minimumSøknad(TEST_PERIODE);
21+
private static final String PÅKREVD = "påkrevd";
2422

2523
@Test
2624
public void komplettSøknadHarIngenValideringFeil() {
27-
var feil = valider(KOMPLETT_SØKNAD);
28-
assertThat(feil).isEmpty();
25+
verifyIngenFeil(KOMPLETT_SØKNAD);
26+
}
27+
28+
@Test
29+
public void minimumSøknadHarIngenValideringsFeil() {
30+
verifyIngenFeil(MINIMUM_SØKNAD);
2931
}
3032

3133
@Test
3234
public void barnKanIkkeVæreSøker() {
3335
var søknad = KOMPLETT_SØKNAD;
3436
søknad.medSøker(new Søker(NorskIdentitetsnummer.of(søknad.getBerørtePersoner().get(0).getPersonIdent().getVerdi())));
3537

36-
var feil = valider(søknad);
37-
assertThat(feil).isNotEmpty();
38+
var feil = verifyHarFeil(søknad);
3839
feilListInneholderFeil(feil, new Feil("søker", "søkerSammeSomBarn", "Søker kan ikke være barn." ));
3940

4041
}
@@ -44,19 +45,11 @@ class SøknadTest {
4445
var søknad = KOMPLETT_SØKNAD;
4546
søknad.medSøker(null);
4647

47-
var feil = valider(søknad);
48-
assertThat(feil).isNotEmpty();
48+
var feil = verifyHarFeil(søknad);
4949
feilListInneholderFeil(feil, new Feil("søker", PÅKREVD, "must not be null"));
5050
}
5151

5252

53-
private List<Feil> valider(Søknad søknad) {
54-
try {
55-
return validator.valider(søknad);
56-
} catch (ValideringsFeil ex) {
57-
return ex.getFeil();
58-
}
59-
}
6053

6154

6255
}

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

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,18 @@ public static void feilInneholderFeilkode(List<Feil> feil, String feilkode) {
2929
assertThat(feil
3030
.stream()
3131
.filter(f -> f.getFeilkode().equals(feilkode))
32-
.collect(Collectors.toList())
33-
).isNotEmpty();
32+
.collect(Collectors.toList()))
33+
.withFailMessage("Finner ikke feilkode: " + feilkode)
34+
.isNotEmpty();
35+
}
36+
37+
public static void feilInneholderFeltOgFeilkode(List<Feil> feil, String felt, String feilkode) {
38+
assertThat(feil
39+
.stream()
40+
.filter(f -> f.getFeilkode().equals(feilkode) && f.getFelt().equals(felt))
41+
.collect(Collectors.toList()))
42+
.withFailMessage("Finner ikke fetl og feilkode: " + felt + ", " + feilkode)
43+
.isNotEmpty();
3444
}
3545

3646
public static void feilListInneholderFeil(List<Feil> feilList, Feil feil) {
@@ -42,7 +52,9 @@ public static void feilListInneholderFeil(List<Feil> feilList, Feil feil) {
4252
f.getFeilmelding().equals(feil.getFeilmelding())
4353
)
4454
.collect(Collectors.toList())
45-
).isNotEmpty();
55+
)
56+
.withFailMessage("Finner ikke Feil: " + feil.toString())
57+
.isNotEmpty();
4658
}
4759

4860
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package no.nav.k9.søknad.ytelse.psb;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import java.util.List;
6+
7+
import no.nav.k9.søknad.Søknad;
8+
import no.nav.k9.søknad.ValideringsFeil;
9+
import no.nav.k9.søknad.felles.Feil;
10+
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarn;
11+
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarnSøknadValidator;
12+
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarnYtelseValidator;
13+
14+
class ValiderUtil {
15+
16+
private static final PleiepengerSyktBarnSøknadValidator validatorSøknad = new PleiepengerSyktBarnSøknadValidator();
17+
private static final PleiepengerSyktBarnYtelseValidator validatorYtelse = new PleiepengerSyktBarnYtelseValidator();
18+
19+
20+
protected static List<Feil> verifyHarFeil(Søknad søknad) {
21+
final List<Feil> feil = valider(søknad);
22+
assertThat(feil).isNotEmpty();
23+
return feil;
24+
}
25+
26+
protected static List<Feil> verifyHarFeil(PleiepengerSyktBarn ytelse) {
27+
final List<Feil> feil = valider(ytelse);
28+
assertThat(feil).isNotEmpty();
29+
return feil;
30+
}
31+
32+
protected static void verifyIngenFeil(Søknad søknad) {
33+
final List<Feil> feil = valider(søknad);
34+
assertThat(feil).isEmpty();
35+
}
36+
37+
protected static void verifyIngenFeil(PleiepengerSyktBarn ytelse) {
38+
final List<Feil> feil = valider(ytelse);
39+
assertThat(feil).isEmpty();
40+
}
41+
42+
private static List<Feil> valider(Søknad søknad) {
43+
try {
44+
return validatorSøknad.valider(søknad);
45+
} catch (ValideringsFeil ex) {
46+
return ex.getFeil();
47+
}
48+
}
49+
50+
private static List<Feil> valider(PleiepengerSyktBarn ytelse) {
51+
try {
52+
return validatorYtelse.valider(ytelse);
53+
} catch (ValideringsFeil ex) {
54+
return ex.getFeil();
55+
}
56+
}
57+
58+
}

0 commit comments

Comments
 (0)