-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Alternativ håndtering av barns død. Forutsetter nå at saksbehandler l… (
#237) * Alternativ håndtering av barns død. Forutsetter nå at saksbehandler legger på søknadsperiode. * Tester + feilretting på knekkpunkt.
- Loading branch information
Showing
7 changed files
with
118 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
regler/src/main/kotlin/no/nav/pleiepengerbarn/uttak/regler/delregler/BarnsDødPeriodeRegel.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package no.nav.pleiepengerbarn.uttak.regler.delregler | ||
|
||
import no.nav.pleiepengerbarn.uttak.kontrakter.LukketPeriode | ||
import no.nav.pleiepengerbarn.uttak.kontrakter.RettVedDød | ||
import no.nav.pleiepengerbarn.uttak.kontrakter.Årsak | ||
import no.nav.pleiepengerbarn.uttak.regler.domene.RegelGrunnlag | ||
|
||
internal class BarnsDødPeriodeRegel : PeriodeRegel { | ||
|
||
override fun kjør(periode: LukketPeriode, grunnlag: RegelGrunnlag): Regelutfall { | ||
val dødsdato = grunnlag.barn.dødsdato | ||
if (dødsdato != null) { | ||
val sisteDagMedRettEtterBarnetsDød = dødsdato.plusWeeks(grunnlag.barn.rettVedDød?.uker ?: 0) | ||
if (periode.fom.isAfter(sisteDagMedRettEtterBarnetsDød)) { | ||
return IkkeOppfylt(årsaker = setOf(Årsak.BARNETS_DØDSFALL)) | ||
} | ||
if (periode.fom.isAfter(dødsdato)) { | ||
val årsak = when(grunnlag.barn.rettVedDød) { | ||
RettVedDød.RETT_6_UKER -> Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER | ||
RettVedDød.RETT_12_UKER -> Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_12_UKER | ||
null -> null | ||
} | ||
return TilBeregningAvGrad(årsak) | ||
} | ||
} | ||
return TilBeregningAvGrad() | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
51 changes: 51 additions & 0 deletions
51
...src/test/kotlin/no/nav/pleiepengerbarn/uttak/regler/delregler/BarnsDødPeriodeRegelTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
package no.nav.pleiepengerbarn.uttak.regler.delregler | ||
|
||
import no.nav.pleiepengerbarn.uttak.kontrakter.* | ||
import no.nav.pleiepengerbarn.uttak.regler.domene.RegelGrunnlag | ||
import org.assertj.core.api.Assertions.assertThat | ||
import org.junit.jupiter.api.Test | ||
import java.time.LocalDate | ||
import java.util.* | ||
|
||
internal class BarnsDødPeriodeRegelTest { | ||
|
||
private val regel: BarnsDødPeriodeRegel = BarnsDødPeriodeRegel() | ||
|
||
@Test | ||
internal fun `Barn dør etter periode`() { | ||
val resultat = regel.kjør(LukketPeriode("2020-01-01/2020-01-31"), grunnlagMedDødtBarn(LocalDate.parse("2020-02-15"), RettVedDød.RETT_6_UKER)) | ||
assertThat(resultat).isInstanceOf(TilBeregningAvGrad::class.java) | ||
val tilBeregningAvGrad = resultat as TilBeregningAvGrad | ||
assertThat(tilBeregningAvGrad.overstyrtÅrsak).isNull() | ||
} | ||
|
||
@Test | ||
internal fun `Periode er etter barns død men innenfor rett ved død`() { | ||
val resultat = regel.kjør(LukketPeriode("2020-01-16/2020-01-31"), grunnlagMedDødtBarn(LocalDate.parse("2020-01-15"), RettVedDød.RETT_6_UKER)) | ||
assertThat(resultat).isInstanceOf(TilBeregningAvGrad::class.java) | ||
val tilBeregningAvGrad = resultat as TilBeregningAvGrad | ||
assertThat(tilBeregningAvGrad.overstyrtÅrsak).isEqualTo(Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER) | ||
} | ||
|
||
@Test | ||
internal fun `Periode er etter barns død men etter rett ved død`() { | ||
val resultat = regel.kjør(LukketPeriode("2020-05-16/2020-05-30"), grunnlagMedDødtBarn(LocalDate.parse("2020-01-15"), RettVedDød.RETT_6_UKER)) | ||
assertThat(resultat).isInstanceOf(IkkeOppfylt::class.java) | ||
val ikkeOppfylt = resultat as IkkeOppfylt | ||
assertThat(ikkeOppfylt.årsaker).isEqualTo(setOf(Årsak.BARNETS_DØDSFALL)) | ||
} | ||
|
||
|
||
private fun grunnlagMedDødtBarn(dødsdatoBarn: LocalDate, rettVedDød: RettVedDød): RegelGrunnlag { | ||
return RegelGrunnlag( | ||
barn = Barn(aktørId = "123", dødsdato = dødsdatoBarn, rettVedDød = rettVedDød), | ||
//Feltene nedenfor er ikke relevante for testen | ||
behandlingUUID = UUID.randomUUID().toString(), | ||
søker = Søker("456"), | ||
pleiebehov = mapOf(), | ||
søktUttak = listOf(), | ||
arbeid = listOf() | ||
) | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters