Skip to content

Commit aca0c99

Browse files
committed
Legger til test
1 parent 5c6654c commit aca0c99

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

behandlingsprosess/src/test/java/no/nav/ung/sak/domene/behandling/steg/beregnytelse/LagTilkjentYtelseTest.java

+102
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,108 @@ void testLagTidslinjeUtenRapportertInntekt() {
140140
76);
141141
}
142142

143+
@Test
144+
void skal_lage_tilkjent_ytelse_for_første_periode_når_andre_periode_ikke_er_kontrollert() {
145+
// Arrange
146+
final var fom1 = LocalDate.of(2023, 1, 1);
147+
final var tom1 = LocalDate.of(2023, 1, 31);
148+
final var fom2 = LocalDate.of(2023, 2, 1);
149+
final var tom2 = LocalDate.of(2023, 2, 28);
150+
final var fom3 = LocalDate.of(2023, 3, 1);
151+
final var tom3 = LocalDate.of(2023, 3, 15);
152+
153+
154+
LocalDateTimeline<Boolean> godkjentTidslinje = new LocalDateTimeline<>(List.of(
155+
new LocalDateSegment<>(fom1, tom1, true),
156+
new LocalDateSegment<>(fom2, tom2, true),
157+
new LocalDateSegment<>(fom3, tom3, true)
158+
159+
));
160+
161+
final var grunnsats1 = BigDecimal.valueOf(100);
162+
final var grunnsats2 = BigDecimal.valueOf(150);
163+
final var barnetilleggSats1 = 200;
164+
final var barnetilleggSats2 = 250;
165+
LocalDateTimeline<BeregnetSats> totalsatsTidslinje = new LocalDateTimeline<>(List.of(
166+
lagSatsperiode(grunnsats1, barnetilleggSats1, fom1, tom1),
167+
lagSatsperiode(grunnsats2, barnetilleggSats2, fom2, tom2),
168+
lagSatsperiode(grunnsats2, barnetilleggSats2, fom3, tom3)
169+
));
170+
171+
LocalDateTimeline<Set<RapportertInntekt>> rapportertInntektTidslinje = TOM_TIDSLINJE;
172+
173+
// Act
174+
LocalDateTimeline<TilkjentYtelseVerdi> resultat = getResultat(godkjentTidslinje, totalsatsTidslinje, rapportertInntektTidslinje);
175+
176+
// Assert
177+
// Forventer ingen reduksjon og tilkjent ytelse for første periode
178+
assertNotNull(resultat);
179+
assertEquals(1, resultat.getLocalDateIntervals().size());
180+
181+
final var iterator = resultat.toSegments().iterator();
182+
final var forventetDagsats1 = BigDecimal.valueOf(14);
183+
final var forventetUredusertBeløp1 = grunnsats1.add(BigDecimal.valueOf(barnetilleggSats1));
184+
LocalDateSegment<TilkjentYtelseVerdi> segment1 = iterator.next();
185+
assertSegment(segment1, fom1, tom1, forventetUredusertBeløp1, forventetDagsats1, BigDecimal.ZERO, forventetUredusertBeløp1, 100);
186+
}
187+
188+
189+
@Test
190+
void skal_lage_tilkjent_ytelse_for_siste_periode_når_nest_siste_periode_er_kontrollert() {
191+
// Arrange
192+
final var fom1 = LocalDate.of(2023, 1, 1);
193+
final var tom1 = LocalDate.of(2023, 1, 31);
194+
final var fom2 = LocalDate.of(2023, 2, 1);
195+
final var tom2 = LocalDate.of(2023, 2, 28);
196+
final var fom3 = LocalDate.of(2023, 3, 1);
197+
final var tom3 = LocalDate.of(2023, 3, 15);
198+
199+
200+
LocalDateTimeline<Boolean> godkjentTidslinje = new LocalDateTimeline<>(List.of(
201+
new LocalDateSegment<>(fom1, tom1, true),
202+
new LocalDateSegment<>(fom2, tom2, true),
203+
new LocalDateSegment<>(fom3, tom3, true)
204+
205+
));
206+
207+
final var grunnsats1 = BigDecimal.valueOf(100);
208+
final var grunnsats2 = BigDecimal.valueOf(150);
209+
final var barnetilleggSats1 = 200;
210+
final var barnetilleggSats2 = 250;
211+
LocalDateTimeline<BeregnetSats> totalsatsTidslinje = new LocalDateTimeline<>(List.of(
212+
lagSatsperiode(grunnsats1, barnetilleggSats1, fom1, tom1),
213+
lagSatsperiode(grunnsats2, barnetilleggSats2, fom2, tom2),
214+
lagSatsperiode(grunnsats2, barnetilleggSats2, fom3, tom3)
215+
));
216+
217+
LocalDateTimeline<Set<RapportertInntekt>> rapportertInntektTidslinje = new LocalDateTimeline<>(fom2, tom2, Set.of());
218+
219+
// Act
220+
LocalDateTimeline<TilkjentYtelseVerdi> resultat = getResultat(godkjentTidslinje, totalsatsTidslinje, rapportertInntektTidslinje);
221+
222+
// Assert
223+
// Forventer ingen reduksjon og tilkjent ytelse for første periode
224+
assertNotNull(resultat);
225+
assertEquals(3, resultat.getLocalDateIntervals().size());
226+
227+
final var iterator = resultat.toSegments().iterator();
228+
final var forventetDagsats1 = BigDecimal.valueOf(14);
229+
final var forventetUredusertBeløp1 = grunnsats1.add(BigDecimal.valueOf(barnetilleggSats1));
230+
LocalDateSegment<TilkjentYtelseVerdi> segment1 = iterator.next();
231+
assertSegment(segment1, fom1, tom1, forventetUredusertBeløp1, forventetDagsats1, BigDecimal.ZERO, forventetUredusertBeløp1, 100);
232+
233+
LocalDateSegment<TilkjentYtelseVerdi> segment2 = iterator.next();
234+
final var forventetUredusertBeløp2 = grunnsats2.add(BigDecimal.valueOf(barnetilleggSats2));
235+
final var forventetDagsats2 = BigDecimal.valueOf(20);
236+
assertSegment(segment2, fom2, tom2, forventetUredusertBeløp2, forventetDagsats2, BigDecimal.ZERO, forventetUredusertBeløp2, 100);
237+
238+
LocalDateSegment<TilkjentYtelseVerdi> segment3 = iterator.next();
239+
final var forventetUredusertBeløp3 = grunnsats2.add(BigDecimal.valueOf(barnetilleggSats2));
240+
final var forventetDagsats3 = BigDecimal.valueOf(36);
241+
assertSegment(segment3, fom3, tom3, forventetUredusertBeløp3, forventetDagsats3, BigDecimal.ZERO, forventetUredusertBeløp3, 100);
242+
}
243+
244+
143245

144246

145247
private static void assertSegment(LocalDateSegment<TilkjentYtelseVerdi> segment2,

0 commit comments

Comments
 (0)