Skip to content

Commit

Permalink
La inn støtte for GBR statsborgere i inngangsregler v2 og v3
Browse files Browse the repository at this point in the history
  • Loading branch information
nilsmsa committed Sep 13, 2024
1 parent e30a2f5 commit 8a70c5d
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package no.nav.paw.arbeidssokerregisteret.application
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning.*
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.Opplysning

object InngangsReglerV2: Regler {
object InngangsReglerV2 : Regler {
override val regler: List<Regel> = listOf(
IkkeFunnet(
PersonIkkeFunnet,
Expand Down Expand Up @@ -42,6 +42,11 @@ object InngangsReglerV2: Regler {
!IkkeBosatt,
vedTreff = ::grunnlagForGodkjenning
),
ErStatsborgerILandMedAvtale(
ErGbrStatsborger,
ErOver18Aar,
vedTreff = ::grunnlagForGodkjenning
),
EuEoesStatsborgerMenHarStatusIkkeBosatt(
ErEuEoesStatsborger,
!ErNorskStatsborger,
Expand All @@ -60,8 +65,8 @@ object InngangsReglerV2: Regler {
)
}

data object ErNorskEllerTredjelandsborger: Condition {
data object ErNorskEllerTredjelandsborger : Condition {
override fun eval(opplysninger: Iterable<Opplysning>): Boolean =
ErNorskStatsborger in opplysninger || ErEuEoesStatsborger !in opplysninger
ErNorskStatsborger in opplysninger || (ErEuEoesStatsborger !in opplysninger && ErGbrStatsborger !in opplysninger)
}

Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ object InngangsReglerV3: Regler {
!ErNorskStatsborger,
vedTreff = ::grunnlagForGodkjenning
),
ErStatsborgerILandMedAvtale(
ErGbrStatsborger,
ErOver18Aar,
vedTreff = ::grunnlagForGodkjenning
),
IkkeBosattINorgeIHenholdTilFolkeregisterloven(
!BosattEtterFregLoven,
ErNorskEllerTredjelandsborger,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ data object EuEoesStatsborgerOver18Aar : DomeneRegelId {
override val beskrivelse: String = "Er EU/EØS statsborger"
}

data object ErStatsborgerILandMedAvtale : DomeneRegelId {
override val beskrivelse: String = "Er statsborger i land med avtale"
}

/**
* Egentlig ikke nødvendig å ha en egen regel for dette, men pga. Arena så trenger vi denne.
* Arena sjekker om personen er EU/EØS statsborger og er utflyttet (som gir status 'ikke bosatt').
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@ package no.nav.paw.arbeidssokerregisteret.application

import arrow.core.Either
import arrow.core.NonEmptyList
import arrow.core.left
import arrow.core.nonEmptyListOf
import arrow.core.raise.result
import io.kotest.core.spec.style.FreeSpec
import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
import io.kotest.matchers.should
import io.kotest.matchers.shouldBe
import io.kotest.matchers.types.shouldBeInstanceOf
import io.kotest.matchers.types.shouldNotBeInstanceOf
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning

typealias Avvist = Either.Left<NonEmptyList<Problem>>
Expand Down Expand Up @@ -260,5 +265,46 @@ class RegelEvalTest : FreeSpec({
}
}
}
"Statsborgere i land med og uten avtaler" - {
"Gbr statsborger over 18 år skal godkjennes" {
InngangsReglerV2.evaluer(
listOf(
DomeneOpplysning.ErOver18Aar,
DomeneOpplysning.ErGbrStatsborger
)
) should { result ->
result.shouldBeInstanceOf<Godkjent>()
}
}
"Gbr statsborger under 18 år skal avvises" {
InngangsReglerV2.evaluer(
listOf(
DomeneOpplysning.ErUnder18Aar,
DomeneOpplysning.ErGbrStatsborger
)
) should { result ->
result.shouldBeInstanceOf<Avvist>()
result.value.map { it.regel.id } shouldBe nonEmptyListOf(Under18Aar)
}
}
"3. lands statsborger under 18 år skal avvises" {
InngangsReglerV2.evaluer(
listOf(
DomeneOpplysning.ErUnder18Aar
)
) should { result ->
result.shouldBeInstanceOf<Avvist>()
result.value.map { it.regel.id } shouldContainExactlyInAnyOrder nonEmptyListOf(Under18Aar, IkkeBosattINorgeIHenholdTilFolkeregisterloven)
}
}
"3. lands statsborger over 18 år skal avvises" {
InngangsReglerV2.evaluer(
listOf()
) should { result ->
result.shouldBeInstanceOf<Avvist>()
result.value.map { it.regel.id } shouldContainExactlyInAnyOrder nonEmptyListOf(IkkeBosattINorgeIHenholdTilFolkeregisterloven)
}
}
}
}
})

0 comments on commit 8a70c5d

Please sign in to comment.