7
7
import static org .assertj .core .api .Assertions .assertThat ;
8
8
9
9
import java .time .LocalDate ;
10
+ import java .util .ArrayList ;
10
11
import java .util .List ;
11
12
13
+ import com .fasterxml .jackson .databind .node .ArrayNode ;
14
+ import no .nav .k9 .søknad .JsonUtils ;
15
+ import no .nav .k9 .søknad .ytelse .psb .v1 .PleiepengerSyktBarn ;
12
16
import org .junit .jupiter .api .Test ;
13
17
14
18
import no .nav .k9 .søknad .felles .type .Periode ;
@@ -23,6 +27,7 @@ class EndringTest {
23
27
24
28
var psb = YtelseEksempel .komplettEndringssøknad (endringsperiode );
25
29
verifyIngenFeil (psb , List .of (gyldigEndringsInterval ));
30
+ assertEndringsperioderIJson (psb );
26
31
}
27
32
28
33
@ Test
@@ -32,6 +37,7 @@ class EndringTest {
32
37
33
38
var psb = YtelseEksempel .standardYtelseMedEndring (søknadsperiode , endringsperiode );
34
39
verifyIngenFeil (psb , List .of (endringsperiode ));
40
+ assertEndringsperioderIJson (psb );
35
41
}
36
42
37
43
@ Test
@@ -41,7 +47,7 @@ class EndringTest {
41
47
42
48
var psb = YtelseEksempel .standardYtelseMedEndring (søknadsperiode , endringsperiode );
43
49
verifyIngenFeil (psb , List .of (endringsperiode ));
44
-
50
+ assertEndringsperioderIJson ( psb );
45
51
}
46
52
47
53
@ Test
@@ -56,6 +62,7 @@ class EndringTest {
56
62
feilInneholderFeltOgFeilkode (feil , "uttak.perioder" , "ugyldigPeriode" );
57
63
assertThat (feil ).size ().isEqualTo (1 );
58
64
assertThat (endringsperiodeList ).isEqualTo (psb .getEndringsperiode ());
65
+ assertEndringsperioderIJson (psb );
59
66
}
60
67
61
68
@ Test
@@ -83,7 +90,8 @@ class EndringTest {
83
90
var psb = YtelseEksempel .komplettYtelse (søknadsperiode );
84
91
85
92
var feil = verifyHarFeil (psb , List .of (new Periode (LocalDate .now ().plusDays (2 ), LocalDate .now ())));
86
- feilInneholderFeilkode (feil , "ugyldigPeriode" ); }
93
+ feilInneholderFeilkode (feil , "ugyldigPeriode" );
94
+ }
87
95
88
96
@ Test
89
97
public void kalkulertEndringsperiodeFinnerFlereSøknadsperioder () {
@@ -106,8 +114,20 @@ class EndringTest {
106
114
assertThat (endringsperiode ).contains (søknadsperiodeTo );
107
115
assertThat (endringsperiode ).contains (søknadsperiodeTre );
108
116
assertThat (endringsperiode ).contains (søknadsperiodeFire );
109
-
110
-
117
+ assertEndringsperioderIJson (ytelse );
111
118
}
112
119
120
+ private void assertEndringsperioderIJson (PleiepengerSyktBarn ytelse ) {
121
+ var endringsperioder = new ArrayList <Periode >();
122
+ try {
123
+ var jsonArray = (ArrayNode ) JsonUtils .getObjectMapper ()
124
+ .readTree (JsonUtils .toString (ytelse ))
125
+ .get ("endringsperiode" );
126
+
127
+ jsonArray .forEach (jsonNode -> endringsperioder .add (new Periode (jsonNode .asText ())));
128
+ } catch (Exception ex ) {
129
+ throw new IllegalStateException ("Feil ved sjekk på endringsperioder i JSON" , ex );
130
+ }
131
+ assertThat (endringsperioder ).containsExactlyElementsOf (ytelse .getEndringsperiode ());
132
+ }
113
133
}
0 commit comments