@@ -859,7 +859,7 @@ class HentDagerTest {
859859 }
860860
861861 @Test
862- fun `Både brukerutbetaling og arbeidsgiverrefusjon i arbeidsgiverperiode2 ` () {
862+ fun `Både brukerutbetaling og arbeidsgiverrefusjon med mange utbetalingsperioder og ferie ` () {
863863 val dato = LocalDate .of(2025 , 11 , 1 )
864864
865865 val utbetalingsdager =
@@ -1230,4 +1230,173 @@ class HentDagerTest {
12301230 erSykmeldt = true ,
12311231 ).shouldContainExactly(forventetSykmeldtDagliste)
12321232 }
1233+
1234+ @Test
1235+ fun `NavDagDelvisSyk basert på at dagen er nullet ut` () {
1236+ val dato = LocalDate .of(2025 , 11 , 8 )
1237+
1238+ val utbetalingsdager =
1239+ listOf (
1240+ RSUtbetalingdag (
1241+ dato.plusDays(0 ),
1242+ " NavHelgDag" ,
1243+ emptyList(),
1244+ beløpTilArbeidsgiver = 0 ,
1245+ beløpTilSykmeldt = 0 ,
1246+ sykdomsgrad = 100 ,
1247+ ),
1248+ RSUtbetalingdag (
1249+ dato.plusDays(1 ),
1250+ " NavHelgDag" ,
1251+ emptyList(),
1252+ beløpTilArbeidsgiver = 0 ,
1253+ beløpTilSykmeldt = 0 ,
1254+ sykdomsgrad = 100 ,
1255+ ),
1256+ RSUtbetalingdag (
1257+ dato.plusDays(2 ),
1258+ " NavDag" ,
1259+ emptyList(),
1260+ beløpTilArbeidsgiver = 0 ,
1261+ beløpTilSykmeldt = 0 ,
1262+ sykdomsgrad = 100 ,
1263+ ),
1264+ RSUtbetalingdag (
1265+ dato.plusDays(3 ),
1266+ " NavDag" ,
1267+ emptyList(),
1268+ beløpTilArbeidsgiver = 0 ,
1269+ beløpTilSykmeldt = 0 ,
1270+ sykdomsgrad = 100 ,
1271+ ),
1272+ RSUtbetalingdag (
1273+ dato.plusDays(4 ),
1274+ " AvvistDag" ,
1275+ emptyList(),
1276+ beløpTilArbeidsgiver = 0 ,
1277+ beløpTilSykmeldt = 0 ,
1278+ sykdomsgrad = 100 ,
1279+ ),
1280+ RSUtbetalingdag (
1281+ dato.plusDays(5 ),
1282+ " AvvistDag" ,
1283+ emptyList(),
1284+ beløpTilArbeidsgiver = 0 ,
1285+ beløpTilSykmeldt = 0 ,
1286+ sykdomsgrad = 100 ,
1287+ ),
1288+ RSUtbetalingdag (
1289+ dato.plusDays(6 ),
1290+ " AvvistDag" ,
1291+ emptyList(),
1292+ beløpTilArbeidsgiver = 0 ,
1293+ beløpTilSykmeldt = 0 ,
1294+ sykdomsgrad = 100 ,
1295+ ),
1296+ RSUtbetalingdag (
1297+ dato.plusDays(7 ),
1298+ " NavHelgDag" ,
1299+ emptyList(),
1300+ beløpTilArbeidsgiver = 0 ,
1301+ beløpTilSykmeldt = 0 ,
1302+ sykdomsgrad = 100 ,
1303+ ),
1304+ RSUtbetalingdag (
1305+ dato.plusDays(8 ),
1306+ " NavHelgDag" ,
1307+ emptyList(),
1308+ beløpTilArbeidsgiver = 0 ,
1309+ beløpTilSykmeldt = 0 ,
1310+ sykdomsgrad = 100 ,
1311+ ),
1312+ )
1313+
1314+ val forventetSykmeldtDagliste =
1315+ listOf (
1316+ RSDag (dato.plusDays(0 ), 0 , 0.0 , " NavHelgDag" , emptyList()),
1317+ RSDag (dato.plusDays(1 ), 0 , 0.0 , " NavHelgDag" , emptyList()),
1318+ RSDag (dato.plusDays(2 ), 0 , 0.0 , " NavDagDelvisSyk" , emptyList()),
1319+ RSDag (dato.plusDays(3 ), 0 , 0.0 , " NavDagDelvisSyk" , emptyList()),
1320+ RSDag (dato.plusDays(4 ), 0 , 0.0 , " AvvistDag" , emptyList()),
1321+ RSDag (dato.plusDays(5 ), 0 , 0.0 , " AvvistDag" , emptyList()),
1322+ RSDag (dato.plusDays(6 ), 0 , 0.0 , " AvvistDag" , emptyList()),
1323+ RSDag (dato.plusDays(7 ), 0 , 0.0 , " NavHelgDag" , emptyList()),
1324+ RSDag (dato.plusDays(8 ), 0 , 0.0 , " NavHelgDag" , emptyList()),
1325+ )
1326+
1327+ val hentDager =
1328+ hentDager(
1329+ fom = dato.plusDays(0 ),
1330+ tom = dato.plusDays(8 ),
1331+ oppdragDto =
1332+ RSOppdrag (
1333+ utbetalingslinjer = listOf (),
1334+ ),
1335+ utbetalingsdager = utbetalingsdager,
1336+ )
1337+ hentDager.shouldContainExactly(forventetSykmeldtDagliste)
1338+
1339+ hentDagerNy(
1340+ fom = dato.plusDays(0 ),
1341+ tom = dato.plusDays(8 ),
1342+ utbetalingsdager = utbetalingsdager,
1343+ erSykmeldt = true ,
1344+ ).shouldContainExactly(forventetSykmeldtDagliste)
1345+ }
1346+
1347+ @Test
1348+ fun `Helg på slutten av arbeidsgiverperiode` () {
1349+ val dato = LocalDate .of(2025 , 12 , 4 )
1350+
1351+ val utbetalingsdager =
1352+ listOf (
1353+ RSUtbetalingdag (
1354+ dato.plusDays(0 ),
1355+ " ArbeidsgiverperiodeDag" ,
1356+ emptyList(),
1357+ beløpTilArbeidsgiver = 2018 ,
1358+ beløpTilSykmeldt = 0 ,
1359+ sykdomsgrad = 100 ,
1360+ ),
1361+ RSUtbetalingdag (
1362+ dato.plusDays(1 ),
1363+ " ArbeidsgiverperiodeDag" ,
1364+ emptyList(),
1365+ beløpTilArbeidsgiver = 2018 ,
1366+ beløpTilSykmeldt = 0 ,
1367+ sykdomsgrad = 100 ,
1368+ ),
1369+ RSUtbetalingdag (
1370+ dato.plusDays(2 ),
1371+ " ArbeidsgiverperiodeDag" ,
1372+ emptyList(),
1373+ beløpTilArbeidsgiver = 0 ,
1374+ beløpTilSykmeldt = 0 ,
1375+ sykdomsgrad = 100 ,
1376+ ),
1377+ RSUtbetalingdag (
1378+ dato.plusDays(3 ),
1379+ " ArbeidsgiverperiodeDag" ,
1380+ emptyList(),
1381+ beløpTilArbeidsgiver = 0 ,
1382+ beløpTilSykmeldt = 0 ,
1383+ sykdomsgrad = 100 ,
1384+ ),
1385+ )
1386+
1387+ val forventetArbeidsgiverDagliste =
1388+ listOf (
1389+ RSDag (dato.plusDays(0 ), 2018 , 100.0 , " NavDagSyk" , emptyList()),
1390+ RSDag (dato.plusDays(1 ), 2018 , 100.0 , " NavDagSyk" , emptyList()),
1391+ RSDag (dato.plusDays(2 ), 0 , 0.0 , " ArbeidsgiverperiodeDag" , emptyList()),
1392+ RSDag (dato.plusDays(3 ), 0 , 0.0 , " ArbeidsgiverperiodeDag" , emptyList()),
1393+ )
1394+
1395+ hentDagerNy(
1396+ fom = dato.plusDays(0 ),
1397+ tom = dato.plusDays(3 ),
1398+ utbetalingsdager = utbetalingsdager,
1399+ erSykmeldt = false ,
1400+ ).shouldContainExactly(forventetArbeidsgiverDagliste)
1401+ }
12331402}
0 commit comments