-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Alder på barn regel forbedring/forenkling (#2453)
* Skal ikke sette automatisk vurdert hvis man setter vilkåret til eks SKAL_IKKE_VURDERES * Trekker ut automatisk oppfylt delvilkårsvurdering i egen metode, som ikke trenger noen if-sjekker * Trekker ut harFullførtFjerdetrinn til egen klasse for å kunne teste * Kaster feil hvis man ikke finner ident til barnet og returnerer boolean i stedet for SvarId|null * Koden er endret slik at et barn regnes som fjerdeklassing i juni og ikke i mai. Det gjør valideringen og automatisk vurdering litt strengere da den ekstra måneden "slakk" var ment som at en behandling kan være opprettet i mai, men fullført i juni, noe som vi nå går bort ifra. I norsk målestokk er det svært få som starter i første klasse før "normalen" og følgelig heller ikke noe som blir fanget opp via søknad eller andre steder. Men barn vil heller ikke få SFO-tilbud som 5. klassing - så da har barnet isåfall et spesielt tilbud fordi det trengs ekstra oppfølging... Og da starter du sjelden på skolen ett år FØR tiden, mest sannsynlig ett år ETTER normaltid. * Alder på barn kan ikke automatisk vurderes dersom barnId er null, noe som skjer ved migreringer da BehandlingBarn ikke er opprettet enda ved initiering av vilkår * Fjerner enhetstester på harfullførtfjerdetrinn da det allerede finnes cucumber-tester på dette * Laget enhetstester for AlderPåBarnRegel som sjekker at vilkårsresultat blir riktig --------- Co-authored-by: Charlie Midtlyng <[email protected]> Co-authored-by: Mattis Janitz <[email protected]> Co-authored-by: Ole Christian Kvernberg <[email protected]>
- Loading branch information
1 parent
f61f949
commit d5091db
Showing
7 changed files
with
120 additions
and
48 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
26 changes: 26 additions & 0 deletions
26
src/main/kotlin/no/nav/familie/ef/sak/vilkår/regler/vilkår/AlderPåBarnRegelUtil.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,26 @@ | ||
package no.nav.familie.ef.sak.vilkår.regler.vilkår | ||
|
||
import java.time.LocalDate | ||
import java.time.Month | ||
|
||
object AlderPåBarnRegelUtil { | ||
|
||
/** | ||
* Et barn født i 2013 har ikke avsluttet 3'e trinn før juni det året man fyller 10 | ||
* | ||
* 2013 født | ||
* 2014 fyller 1 år | ||
* ... | ||
* 2019 fyller 6 år - starter 1 trinn | ||
* 2020 fyller 7 år - fullfører 1 trinn | ||
* ... | ||
* 2023 fyller 10 år - fullfører 4 trinn i juni | ||
*/ | ||
fun harFullførtFjerdetrinn(fødselsdato: LocalDate, datoForBeregning: LocalDate = LocalDate.now()): Boolean { | ||
return if (datoForBeregning.month >= Month.JUNE) { | ||
datoForBeregning.year - fødselsdato.year > 9 | ||
} else { | ||
datoForBeregning.year - fødselsdato.year > 10 | ||
} | ||
} | ||
} |
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
50 changes: 50 additions & 0 deletions
50
src/test/kotlin/no/nav/familie/ef/sak/vilkår/regler/vilkår/AlderPåBarnRegelTest.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,50 @@ | ||
package no.nav.familie.ef.sak.no.nav.familie.ef.sak.vilkår.regler.vilkår | ||
|
||
import io.mockk.every | ||
import io.mockk.mockk | ||
import no.nav.familie.ef.sak.repository.behandling | ||
import no.nav.familie.ef.sak.repository.behandlingBarn | ||
import no.nav.familie.ef.sak.vilkår.Vilkårsresultat | ||
import no.nav.familie.ef.sak.vilkår.regler.HovedregelMetadata | ||
import no.nav.familie.ef.sak.vilkår.regler.vilkår.AlderPåBarnRegel | ||
import org.assertj.core.api.Assertions | ||
import org.junit.jupiter.api.BeforeEach | ||
import org.junit.jupiter.api.Test | ||
import java.util.UUID | ||
|
||
class AlderPåBarnRegelTest { | ||
|
||
val hovedregelMetadataMock = mockk<HovedregelMetadata>() | ||
val behandlingBarnMedDnr = behandlingBarn(behandlingId = UUID.randomUUID(), personIdent = "06431960727", søknadBarnId = UUID.randomUUID()) | ||
val behandlingBarn2 = behandlingBarn(behandlingId = UUID.randomUUID(), personIdent = "03041983106", søknadBarnId = UUID.randomUUID()) | ||
|
||
@BeforeEach | ||
fun setup() { | ||
every { hovedregelMetadataMock.barn } returns listOf(behandlingBarnMedDnr, behandlingBarn2) | ||
every { hovedregelMetadataMock.behandling } returns behandling() | ||
} | ||
|
||
@Test | ||
fun `Vilkår ikke tatt stilling til og har fullført fjerdetrinn - skal automatisk oppfylle vilkår`() { | ||
val listDelvilkårsvurdering = AlderPåBarnRegel().initiereDelvilkårsvurdering( | ||
hovedregelMetadataMock, | ||
Vilkårsresultat.IKKE_TATT_STILLING_TIL, | ||
behandlingBarnMedDnr.id, | ||
) | ||
|
||
Assertions.assertThat(listDelvilkårsvurdering.size).isEqualTo(1) | ||
Assertions.assertThat(listDelvilkårsvurdering.first().resultat).isEqualTo(Vilkårsresultat.AUTOMATISK_OPPFYLT) | ||
} | ||
|
||
@Test | ||
fun `Vilkår tatt stilling til i resultat, skal ikke vurdere automatisk`() { | ||
val listDelvilkårsvurdering = AlderPåBarnRegel().initiereDelvilkårsvurdering( | ||
hovedregelMetadataMock, | ||
Vilkårsresultat.OPPFYLT, | ||
null, | ||
) | ||
|
||
Assertions.assertThat(listDelvilkårsvurdering.size).isEqualTo(1) | ||
Assertions.assertThat(listDelvilkårsvurdering.first().resultat).isEqualTo(Vilkårsresultat.OPPFYLT) | ||
} | ||
} |
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