Skip to content

Commit

Permalink
Legge til felt for avrundet månedsbeløp i InntektDtoV2.
Browse files Browse the repository at this point in the history
  • Loading branch information
s148719 committed Dec 9, 2024
1 parent e200316 commit 9ad3a4d
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import no.nav.bidrag.domene.ident.Personident
import no.nav.bidrag.domene.tid.Datoperiode
import no.nav.bidrag.transport.behandling.beregning.felles.InntektPerBarn
import java.math.BigDecimal
import java.math.RoundingMode
import java.time.LocalDate

data class InntektDtoV2(
Expand Down Expand Up @@ -46,7 +47,9 @@ data class InntektDtoV2(
@Schema(required = true)
val inntektstyper: Set<Inntektstype> = emptySet(),
val historisk: Boolean? = false,
)
) {
val månedsbeløp: BigDecimal get() = beløp.divide(BigDecimal(12), 0, RoundingMode.HALF_UP)
}

data class InntekterDtoV2(
val barnetillegg: Set<InntektDtoV2> = emptySet(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,11 +132,7 @@ fun Inntekt.tilInntektDtoV2() =
id = this.id,
taMed = this.taMed,
rapporteringstype = this.type,
beløp =
maxOf(
belop.nærmesteHeltall,
BigDecimal.ZERO,
),
beløp = maxOf(belop.nærmesteHeltall, BigDecimal.ZERO),
// Kapitalinntekt kan ha negativ verdi. Dette skal ikke vises i frontend
datoFom = this.datoFom,
datoTom = this.datoTom,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,4 +321,87 @@ class DtoMapperMockTest {
it.harInnvilgetTilleggsstønad shouldBe true
}
}

@Test
fun `skal vise månedsinntekt`() {
// gitt
val behandling = opprettGyldigBehandlingForBeregningOgVedtak(true, typeBehandling = TypeBehandling.BIDRAG)
behandling.inntekter.add(
Inntekt(
belop = BigDecimal(2000),
datoFom = behandling.virkningstidspunkt?.plusMonths(1),
datoTom = null,
ident = behandling.bidragsmottaker!!.ident!!,
taMed = false,
gjelderBarn = behandling.søknadsbarn.first().ident,
kilde = Kilde.MANUELL,
behandling = behandling,
type = Inntektsrapportering.BARNETILLEGG,
id = 1,
),
)
behandling.inntekter.add(
Inntekt(
belop = BigDecimal(0),
datoFom = behandling.virkningstidspunkt?.plusMonths(2),
datoTom = null,
ident = behandling.bidragspliktig!!.ident!!,
gjelderBarn = behandling.søknadsbarn.first().ident,
taMed = true,
kilde = Kilde.MANUELL,
behandling = behandling,
type = Inntektsrapportering.BARNETILLEGG,
id = 1,
),
)

behandling.inntekter.add(
Inntekt(
belop = BigDecimal(-1),
datoFom = behandling.virkningstidspunkt?.plusMonths(2),
datoTom = null,
ident = behandling.bidragspliktig!!.ident!!,
gjelderBarn = behandling.søknadsbarn.first().ident,
taMed = true,
kilde = Kilde.MANUELL,
behandling = behandling,
type = Inntektsrapportering.BARNETILLEGG,
id = 1,
),
)

behandling.inntekter.add(
Inntekt(
belop = BigDecimal(144),
datoFom = behandling.virkningstidspunkt?.plusMonths(3),
datoTom = null,
ident = behandling.bidragspliktig!!.ident!!,
gjelderBarn = behandling.søknadsbarn.first().ident,
taMed = true,
kilde = Kilde.MANUELL,
behandling = behandling,
type = Inntektsrapportering.BARNETILLEGG,
id = 1,
),
)

// hvis
val behandlingDto = dtomapper.tilDto(behandling)

//
behandlingDto.shouldNotBeNull()

val barnetillegg = behandlingDto.inntekter.barnetillegg shouldHaveSize 3

assertSoftly(barnetillegg) { bt ->
bt.forEach {
when (it.beløp) {
BigDecimal(-1) -> it.månedsbeløp shouldBe BigDecimal.ZERO
BigDecimal.ZERO -> it.månedsbeløp shouldBe BigDecimal.ZERO
BigDecimal(144) -> it.månedsbeløp shouldBe BigDecimal(12)
BigDecimal(2000) -> it.månedsbeløp shouldBe BigDecimal(167)
}
}
}
}
}

0 comments on commit 9ad3a4d

Please sign in to comment.