-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alder på barn regel forbedring/forenkling #2453
The head ref may contain hidden characters: "alder-p\u00E5-barn-regel-forbedring"
Changes from all commits
528b6bb
a497bed
4be3272
b627cb0
947f03a
cf84346
877418a
1db743d
87b15d2
0d7a5ac
882cd27
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Vet ikke helt hvorfor vi gjorde det på denne måten tidligere, men det blir vel litt forskjell her nå?
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ja, forskjellen blir at man i den tidligere løsningen fikk at man "fullført fjerne trinn" hvis man beregner i mai, det året barnet skal fullføre, som på en måte høres rart ut? 👀 |
||
datoForBeregning.year - fødselsdato.year > 9 | ||
} else { | ||
datoForBeregning.year - fødselsdato.year > 10 | ||
} | ||
} | ||
} |
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) | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Burde man egentlige bruke fødselsdato fra PDL her, og ikke personIdent? Det er ikke sikkert personIdent -> fødselsdato er lik faktiskt fødselsdato
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Det høres jo rimelig ut - jeg vet ikke helt hvilke potensielle fallgruver som dukker opp hvis vi bytter til fødselsdato?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Problemet er vel først og fremst at det ikke finnes noe fødselsdato i det objektet der, eller?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Det er mulig, men det burde kunne legges til då :-)