Skip to content

Commit

Permalink
Oppdatere tester
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Dec 4, 2024
1 parent 5a67a8d commit 2a730a2
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ import org.junit.jupiter.api.Test

class GebyrValideringsfeilTest {
@Test
fun `skal feile validering hvis ingen begrunnelse for manuelt overstyrt gebyr`() {
fun `skal feile validering hvis ingen begrunnelse for overstyrt gebyr`() {
val behandling = opprettGyldigBehandlingForBeregningOgVedtak(true, typeBehandling = TypeBehandling.BIDRAG)
behandling.bidragspliktig!!.harGebyrsøknad = false
val bm = behandling.bidragsmottaker!!
bm.harGebyrsøknad = true
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(true, false, null)
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(true, false, null, true)
val resultat = behandling.validerGebyr()
resultat.shouldHaveSize(1)
resultat.first().manglerBegrunnelse shouldBe true
}

@Test
fun `skal feile validering hvis gebyr ikke satt ved avslag`() {
fun `skal feile validering hvis gebyr begrunnelse ikke satt ved avslag`() {
val behandling = opprettGyldigBehandlingForBeregningOgVedtak(true, typeBehandling = TypeBehandling.BIDRAG)
behandling.avslag = Resultatkode.BIDRAGSPLIKTIG_ER_DØD
behandling.bidragspliktig!!.harGebyrsøknad = false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,21 @@ class GebyrServiceTest {
fun `skal oppdatere gebyr når det endres til ikke avslag`() {
val behandling = opprettBehandlingForGebyrberegning(BigDecimal(100))
val bm = behandling.bidragsmottaker!!
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(true, true, "Begrunnelse")
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(false, true, "Begrunnelse", true)
gebyrService.oppdaterGebyrEtterEndringÅrsakAvslag(behandling)

bm.manueltOverstyrtGebyr.shouldNotBeNull()
bm.manueltOverstyrtGebyr!!.overstyrGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.ilagtGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.beregnetIlagtGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.begrunnelse shouldBe "Begrunnelse"
}

@Test
fun `skal oppdatere gebyr når det endres til ikke avslag hvis overstyrt`() {
val behandling = opprettBehandlingForGebyrberegning(BigDecimal(100))
val bm = behandling.bidragsmottaker!!
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(true, false, "Begrunnelse", true)
gebyrService.oppdaterGebyrEtterEndringÅrsakAvslag(behandling)

bm.manueltOverstyrtGebyr.shouldNotBeNull()
Expand All @@ -230,6 +244,40 @@ class GebyrServiceTest {
bm.manueltOverstyrtGebyr!!.beregnetIlagtGebyr shouldBe true
bm.manueltOverstyrtGebyr!!.begrunnelse shouldBe "Begrunnelse"
}

@Test
fun `skal rekalkulere men ikke oppdatere gebyr når beregnet verdi er samme`() {
val behandling = opprettBehandlingForGebyrberegning(BigDecimal(10000000))
val bp = behandling.bidragspliktig
bp!!.harGebyrsøknad = false
val bm = behandling.bidragsmottaker!!
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(true, false, "Begrunnelse", true)
val resultat = gebyrService.rekalkulerGebyr(behandling)

resultat shouldBe false
bm.manueltOverstyrtGebyr.shouldNotBeNull()
bm.manueltOverstyrtGebyr!!.overstyrGebyr shouldBe true
bm.manueltOverstyrtGebyr!!.ilagtGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.beregnetIlagtGebyr shouldBe true
bm.manueltOverstyrtGebyr!!.begrunnelse shouldBe "Begrunnelse"
}

@Test
fun `skal rekalkulere og oppdatere gebyr når beregnet verdi er endret`() {
val behandling = opprettBehandlingForGebyrberegning(BigDecimal(1000))
val bp = behandling.bidragspliktig
bp!!.harGebyrsøknad = false
val bm = behandling.bidragsmottaker!!
bm.manueltOverstyrtGebyr = RolleManueltOverstyrtGebyr(true, false, "Begrunnelse", true)
val resultat = gebyrService.rekalkulerGebyr(behandling)

resultat shouldBe true
bm.manueltOverstyrtGebyr.shouldNotBeNull()
bm.manueltOverstyrtGebyr!!.overstyrGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.ilagtGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.beregnetIlagtGebyr shouldBe false
bm.manueltOverstyrtGebyr!!.begrunnelse shouldBe "Begrunnelse"
}
}

private fun opprettBehandlingForGebyrberegning(inntektBeløp: BigDecimal = BigDecimal(500000)): Behandling {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -453,4 +453,49 @@ class InntektServiceMockTest {
response.beregnetGebyrErEndret shouldBe true
behandling.bidragsmottaker!!.manueltOverstyrtGebyr!!.beregnetIlagtGebyr shouldBe true
}

@Test
fun `skal ikke oppdatere gebyr ved hvis ingen endring av beregnet gebyr`() {
val behandling = oppretteBehandling(1)
val virkningstidspunkt = LocalDate.now().plusMonths(4)
behandling.virkningstidspunkt = virkningstidspunkt
behandling.roller = oppretteBehandlingRoller(behandling, generateId = true)

behandling.bidragsmottaker!!.harGebyrsøknad = true
behandling.bidragsmottaker!!.manueltOverstyrtGebyr =
RolleManueltOverstyrtGebyr(
overstyrGebyr = true,
ilagtGebyr = false,
beregnetIlagtGebyr = true,
)
every { behandlingRepository.findBehandlingById(any()) } returns Optional.of(behandling)
val forespørselOmOppdateringAvInntekter =
OppdatereInntektRequest(
oppdatereManuellInntekt =
OppdatereManuellInntekt(
type = Inntektsrapportering.LØNN_MANUELT_BEREGNET,
beløp = BigDecimal(3052003),
datoFom = LocalDate.now().minusYears(1).withDayOfYear(1),
datoTom =
LocalDate
.now()
.minusYears(1)
.withMonth(12)
.withDayOfMonth(31),
ident = Personident(behandling.bidragsmottaker!!.ident!!),
gjelderBarn = null,
),
)

// hvis
val response =
inntektService.oppdatereInntektManuelt(
behandling.id!!,
forespørselOmOppdateringAvInntekter,
)

response.beregnetGebyrErEndret shouldBe false
behandling.bidragsmottaker!!.manueltOverstyrtGebyr!!.beregnetIlagtGebyr shouldBe true
behandling.bidragsmottaker!!.manueltOverstyrtGebyr!!.overstyrGebyr shouldBe true
}
}

0 comments on commit 2a730a2

Please sign in to comment.