1
1
package no .nav .foreldrepenger .abakus .vedtak ;
2
2
3
+ import static org .assertj .core .api .AssertionsForClassTypes .assertThat ;
3
4
import static org .junit .jupiter .api .Assertions .assertThrows ;
4
5
import static org .mockito .Mockito .mock ;
5
6
7
+ import java .time .LocalDate ;
8
+ import java .util .List ;
6
9
import java .util .UUID ;
7
10
8
11
import org .junit .jupiter .api .Test ;
12
+ import org .junit .jupiter .api .extension .RegisterExtension ;
9
13
14
+ import no .nav .foreldrepenger .abakus .dbstoette .JpaExtension ;
15
+ import no .nav .foreldrepenger .abakus .typer .AktørId ;
16
+ import no .nav .foreldrepenger .abakus .vedtak .domene .VedtakYtelse ;
10
17
import no .nav .foreldrepenger .abakus .vedtak .domene .VedtakYtelseRepository ;
11
18
import no .nav .foreldrepenger .abakus .vedtak .extract .v1 .ExtractFromYtelseV1 ;
12
19
import no .nav .vedtak .felles .prosesstask .api .ProsessTaskData ;
13
20
import no .nav .vedtak .felles .prosesstask .api .ProsessTaskDataBuilder ;
14
21
15
22
public class LagreVedtakTaskTest {
16
23
24
+ @ RegisterExtension
25
+ public static JpaExtension extension = new JpaExtension ();
17
26
18
- private VedtakYtelseRepository repository = mock ( VedtakYtelseRepository . class );
27
+ private VedtakYtelseRepository repository = new VedtakYtelseRepository ( extension . getEntityManager () );
19
28
private ExtractFromYtelseV1 extractor = new ExtractFromYtelseV1 (repository );
20
29
private LagreVedtakTask task = new LagreVedtakTask (repository , extractor );
21
30
@@ -45,9 +54,46 @@ public void skal_feile_ved_valideringsfeil() {
45
54
" \" fom\" : null,\n " +
46
55
" \" tom\" : null\n " +
47
56
" },\n " +
48
- " \" anvist\" : []\n " +
49
- "}\n " +
50
- "" ;
57
+ " \" anvist\" : [\n " +
58
+ " {\n " +
59
+ " \" periode\" : {\n " +
60
+ " \" fom\" : null,\n " +
61
+ " \" tom\" : null\n " +
62
+ " },\n " +
63
+ " \" beløp\" : {\n " +
64
+ " \" verdi\" : 1234\n " +
65
+ " },\n " +
66
+ " \" dagsats\" : {\n " +
67
+ " \" verdi\" : 1234\n " +
68
+ " },\n " +
69
+ " \" utbetalingsgrad\" : {\n " +
70
+ " \" verdi\" : 100\n " +
71
+ " },\n " +
72
+ " \" andeler\" : [\n " +
73
+ " {\n " +
74
+ " \" arbeidsgiver\" : {\n " +
75
+ " \" ident\" : \" 999999999\" ,\n " +
76
+ " \" identType\" : \" ORGNUMMER\" \n " +
77
+ " },\n " +
78
+ " \" arbeidsforholdId\" : \" joeisjf843jr3\" ,\n " +
79
+ " \" dagsats\" : {\n " +
80
+ " \" verdi\" : 1234\n " +
81
+ " },\n " +
82
+ " \" utbetalingsgrad\" : {\n " +
83
+ " \" verdi\" : 100\n " +
84
+ " },\n " +
85
+ " \" refusjonsgrad\" : {\n " +
86
+ " \" verdi\" : 100\n " +
87
+ " },\n " +
88
+ " \" inntektskategori\" : {\n " +
89
+ " \" kode\" : \" ARBEIDSTAKER\" ,\n " +
90
+ " \" kodeverk\" : \" INNTEKTSKATEGORI\" \n " +
91
+ " }\n " +
92
+ " }\n " +
93
+ " ]\n " +
94
+ " }\n " +
95
+ " ]\n " +
96
+ "}\n " ;
51
97
52
98
ProsessTaskData data = ProsessTaskDataBuilder .forProsessTask (LagreVedtakTask .class )
53
99
.medPayload (payload )
@@ -56,4 +102,151 @@ public void skal_feile_ved_valideringsfeil() {
56
102
57
103
assertThrows (IllegalArgumentException .class , () ->task .doTask (data ));
58
104
}
105
+
106
+
107
+ @ Test
108
+ public void skal_ikke_feile_uten_valideringsfeil () {
109
+ String payload = "{\n " +
110
+ " \" version\" : \" 1.0\" ,\n " +
111
+ " \" aktør\" : {\n " +
112
+ " \" verdi\" : \" 1293528970663\" \n " +
113
+ " },\n " +
114
+ " \" vedtattTidspunkt\" : \" 2021-12-15T11:06:01.623\" ,\n " +
115
+ " \" type\" : {\n " +
116
+ " \" kode\" : \" PSB\" ,\n " +
117
+ " \" kodeverk\" : \" FAGSAK_YTELSE_TYPE\" \n " +
118
+ " },\n " +
119
+ " \" saksnummer\" : \" 1DMNZBU\" ,\n " +
120
+ " \" vedtakReferanse\" : \" e10b4624-d205-4bf8-a065-c41ed74be90b\" ,\n " +
121
+ " \" status\" : {\n " +
122
+ " \" kode\" : \" LOP\" ,\n " +
123
+ " \" kodeverk\" : \" YTELSE_STATUS\" \n " +
124
+ " },\n " +
125
+ " \" fagsystem\" : {\n " +
126
+ " \" kode\" : \" K9SAK\" ,\n " +
127
+ " \" kodeverk\" : \" FAGSYSTEM\" \n " +
128
+ " },\n " +
129
+ " \" periode\" : {\n " +
130
+ " \" fom\" : \" 2021-11-01\" ,\n " +
131
+ " \" tom\" : \" 2021-11-19\" \n " +
132
+ " },\n " +
133
+ " \" tilleggsopplysninger\" : \" {\\ n \\ \" pleietrengende\\ \" : \\ \" 2569674469455\\ \" ,\\ n \\ \" innleggelsesPerioder\\ \" : [ ]\\ n}\" ,\n " +
134
+ " \" anvist\" : [ {\n " +
135
+ " \" periode\" : {\n " +
136
+ " \" fom\" : \" 2021-11-01\" ,\n " +
137
+ " \" tom\" : \" 2021-11-05\" \n " +
138
+ " },\n " +
139
+ " \" beløp\" : null,\n " +
140
+ " \" dagsats\" : {\n " +
141
+ " \" verdi\" : 1846.00\n " +
142
+ " },\n " +
143
+ " \" utbetalingsgrad\" : {\n " +
144
+ " \" verdi\" : 100.00\n " +
145
+ " },\n " +
146
+ " \" andeler\" : [ {\n " +
147
+ " \" arbeidsgiver\" : {\n " +
148
+ " \" identType\" : \" ORGNUMMER\" ,\n " +
149
+ " \" ident\" : \" 972674818\" \n " +
150
+ " },\n " +
151
+ " \" arbeidsforholdId\" : \" 1\" ,\n " +
152
+ " \" dagsats\" : {\n " +
153
+ " \" verdi\" : 1846.00\n " +
154
+ " },\n " +
155
+ " \" utbetalingsgrad\" : {\n " +
156
+ " \" verdi\" : 100.00\n " +
157
+ " },\n " +
158
+ " \" refusjonsgrad\" : {\n " +
159
+ " \" verdi\" : 100.00\n " +
160
+ " },\n " +
161
+ " \" inntektskategori\" : {\n " +
162
+ " \" kode\" : \" ARBEIDSTAKER\" ,\n " +
163
+ " \" kodeverk\" : \" INNTEKTSKATEGORI\" \n " +
164
+ " }\n " +
165
+ " } ]\n " +
166
+ " }, {\n " +
167
+ " \" periode\" : {\n " +
168
+ " \" fom\" : \" 2021-11-08\" ,\n " +
169
+ " \" tom\" : \" 2021-11-12\" \n " +
170
+ " },\n " +
171
+ " \" beløp\" : null,\n " +
172
+ " \" dagsats\" : {\n " +
173
+ " \" verdi\" : 1846.00\n " +
174
+ " },\n " +
175
+ " \" utbetalingsgrad\" : {\n " +
176
+ " \" verdi\" : 100.00\n " +
177
+ " },\n " +
178
+ " \" andeler\" : [ {\n " +
179
+ " \" arbeidsgiver\" : {\n " +
180
+ " \" identType\" : \" ORGNUMMER\" ,\n " +
181
+ " \" ident\" : \" 972674818\" \n " +
182
+ " },\n " +
183
+ " \" arbeidsforholdId\" : \" 1\" ,\n " +
184
+ " \" dagsats\" : {\n " +
185
+ " \" verdi\" : 1846.00\n " +
186
+ " },\n " +
187
+ " \" utbetalingsgrad\" : {\n " +
188
+ " \" verdi\" : 100.00\n " +
189
+ " },\n " +
190
+ " \" refusjonsgrad\" : {\n " +
191
+ " \" verdi\" : 100.00\n " +
192
+ " },\n " +
193
+ " \" inntektskategori\" : {\n " +
194
+ " \" kode\" : \" ARBEIDSTAKER\" ,\n " +
195
+ " \" kodeverk\" : \" INNTEKTSKATEGORI\" \n " +
196
+ " }\n " +
197
+ " } ]\n " +
198
+ " }, {\n " +
199
+ " \" periode\" : {\n " +
200
+ " \" fom\" : \" 2021-11-15\" ,\n " +
201
+ " \" tom\" : \" 2021-11-19\" \n " +
202
+ " },\n " +
203
+ " \" beløp\" : null,\n " +
204
+ " \" dagsats\" : {\n " +
205
+ " \" verdi\" : 1846.00\n " +
206
+ " },\n " +
207
+ " \" utbetalingsgrad\" : {\n " +
208
+ " \" verdi\" : 100.00\n " +
209
+ " },\n " +
210
+ " \" andeler\" : [ {\n " +
211
+ " \" arbeidsgiver\" : {\n " +
212
+ " \" identType\" : \" ORGNUMMER\" ,\n " +
213
+ " \" ident\" : \" 972674818\" \n " +
214
+ " },\n " +
215
+ " \" arbeidsforholdId\" : \" 1\" ,\n " +
216
+ " \" dagsats\" : {\n " +
217
+ " \" verdi\" : 1846.00\n " +
218
+ " },\n " +
219
+ " \" utbetalingsgrad\" : {\n " +
220
+ " \" verdi\" : 100.00\n " +
221
+ " },\n " +
222
+ " \" refusjonsgrad\" : {\n " +
223
+ " \" verdi\" : 100.00\n " +
224
+ " },\n " +
225
+ " \" inntektskategori\" : {\n " +
226
+ " \" kode\" : \" ARBEIDSTAKER\" ,\n " +
227
+ " \" kodeverk\" : \" INNTEKTSKATEGORI\" \n " +
228
+ " }\n " +
229
+ " } ]\n " +
230
+ " } ]\n " +
231
+ "}" ;
232
+
233
+ ProsessTaskData data = ProsessTaskDataBuilder .forProsessTask (LagreVedtakTask .class )
234
+ .medPayload (payload )
235
+ .medProperty (LagreVedtakTask .KEY , UUID .randomUUID ().toString ())
236
+ .build ();
237
+
238
+ task .doTask (data );
239
+
240
+ extension .getEntityManager ().flush ();
241
+
242
+ var vedtakYtelser = repository .hentYtelserForIPeriode (new AktørId ("1293528970663" ),
243
+ LocalDate .of (2021 , 11 , 1 ),
244
+ LocalDate .of (2021 , 11 , 19 ));
245
+
246
+ assertThat (vedtakYtelser .size ()).isEqualTo (1 );
247
+ assertThat (vedtakYtelser .get (0 ).getYtelseAnvist ().size ()).isEqualTo (3 );
248
+ assertThat (vedtakYtelser .get (0 ).getYtelseAnvist ().iterator ().next ().getAndeler ().size ()).isEqualTo (1 );
249
+
250
+
251
+ }
59
252
}
0 commit comments