Skip to content

Commit

Permalink
Sette til og med dato barnetilsyn
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Dec 11, 2024
1 parent a63838d commit ddab61c
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,23 @@ data class UnderholdskostnadDto(
val tilsynsutgifter: BigDecimal = BigDecimal.ZERO,
val barnetrygd: BigDecimal = BigDecimal.ZERO,
val total: BigDecimal,
)
val beregningsdetaljer: Beregningsdetaljer? = null,
) {
data class Beregningsdetaljer(
val tilsynsutgifterBarn: List<TilsynsutgiftBarn> = emptyList(),
val totalTilsynsutgift: BigDecimal,
val endeligBeløp: BigDecimal,
val faktiskBeløp: BigDecimal,
val fordelingFaktor: BigDecimal,
val skattefradrag: BigDecimal,
)

data class TilsynsutgiftBarn(
val beløp: BigDecimal,
val kostpenger: BigDecimal? = null,
val tilleggsstønad: BigDecimal? = null,
)
}

data class OppdatereTilleggsstønadRequest(
val id: Long? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,12 @@ fun Set<BarnetilsynGrunnlagDto>.tilBarnetilsyn(u: Underholdskostnad) = this.map
fun BarnetilsynGrunnlagDto.tilBarnetilsyn(u: Underholdskostnad): Barnetilsyn {
fun erUnderSkolealder(fødselsdato: LocalDate) = fødselsdato.plusYears(ALDER_VED_SKOLESTART).year > LocalDate.now().year

val justerForDato = maxOf(u.behandling.virkningstidspunkt!!, LocalDate.now().withDayOfMonth(1))
val tilOgMedDato = this.periodeTil?.minusDays(1)
return Barnetilsyn(
underholdskostnad = u,
fom = this.periodeFra,
tom = this.periodeTil?.minusDays(1),
tom = if (tilOgMedDato != null && tilOgMedDato.isAfter(justerForDato)) null else tilOgMedDato,
kilde = Kilde.OFFENTLIG,
omfang = this.tilsynstype ?: Tilsynstype.IKKE_ANGITT,
under_skolealder = erUnderSkolealder(u.person.henteFødselsdato),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,81 @@ class UtvidelserTest {
//
barnetilsyn.under_skolealder shouldBe true
}

@Test
fun `skal sette til og med dato til null hvis etter virkning`() {
// gitt
val b =
oppretteTestbehandling(
setteDatabaseider = true,
inkludereBp = true,
behandlingstype = TypeBehandling.BIDRAG,
)

val barnetilsynGrunnlagDto =
oppretteBarnetilsynGrunnlagDto(b, periodeFraAntallMndTilbake = 13)
.copy(periodeTil = LocalDate.now().plusMonths(2))

val u = b.underholdskostnader.first()
b.virkningstidspunkt = LocalDate.now().plusMonths(1).withDayOfMonth(1)

// hvis
val barnetilsyn = barnetilsynGrunnlagDto.tilBarnetilsyn(u)

//
barnetilsyn.tom shouldBe null
}

@Test
fun `skal sette til og med dato til null hvis etter dagens dato`() {
// gitt
val b =
oppretteTestbehandling(
setteDatabaseider = true,
inkludereBp = true,
behandlingstype = TypeBehandling.BIDRAG,
)

val barnetilsynGrunnlagDto =
oppretteBarnetilsynGrunnlagDto(b, periodeFraAntallMndTilbake = 13)
.copy(periodeTil = LocalDate.now().plusMonths(1))

val u = b.underholdskostnader.first()
b.virkningstidspunkt = LocalDate.now().minusMonths(3).withDayOfMonth(1)

// hvis
val barnetilsyn = barnetilsynGrunnlagDto.tilBarnetilsyn(u)

//
barnetilsyn.tom shouldBe null
}

@Test
fun `skal sette til og med dato hvis før virkning`() {
// gitt
val b =
oppretteTestbehandling(
setteDatabaseider = true,
inkludereBp = true,
behandlingstype = TypeBehandling.BIDRAG,
)

val barnetilsynGrunnlagDto =
oppretteBarnetilsynGrunnlagDto(b, periodeFraAntallMndTilbake = 13)
.copy(periodeTil = LocalDate.now().minusMonths(4).plusMonths(1))

val u = b.underholdskostnader.first()
b.virkningstidspunkt = LocalDate.now().minusMonths(3).withDayOfMonth(1)

// hvis
val barnetilsyn = barnetilsynGrunnlagDto.tilBarnetilsyn(u)

//
barnetilsyn.tom shouldBe
LocalDate
.now()
.minusMonths(4)
.plusMonths(1)
.minusDays(1)
}
}

0 comments on commit ddab61c

Please sign in to comment.