Skip to content

Commit

Permalink
La til opplysning 'er norsk statsborger'
Browse files Browse the repository at this point in the history
  • Loading branch information
nilsmsa committed Jul 3, 2024
1 parent 24b5749 commit 3501504
Show file tree
Hide file tree
Showing 10 changed files with 57 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class RequestValidator(
adreseOpplysning(person.bostedsadresse.firstOrNull()) +
euEoesStatsborgerOpplysning(person.statsborgerskap) +
gbrStatsborgerOpplysning(person.statsborgerskap) +
norskStatsborgerOpplysning(person.statsborgerskap) +
forenkletFregOpplysning(person.folkeregisterpersonstatus) +
oppholdstillatelseOpplysning(person.opphold.firstOrNull()) +
utflyttingOpplysning(person.innflyttingTilNorge, person.utflyttingFraNorge)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ fun opplysningTilApiOpplysning(opplysning: Opplysning): ApiOpplysning =
DomeneOpplysning.UkjentFoedselsdato -> ApiOpplysning.UKJENT_FOEDSELSDATO
DomeneOpplysning.UkjentForenkletFregStatus -> ApiOpplysning.UKJENT_FORENKLET_FREG_STATUS
DomeneOpplysning.UkjentStatusForOppholdstillatelse -> ApiOpplysning.UKJENT_STATUS_FOR_OPPHOLDSTILLATELSE
DomeneOpplysning.ErNorskStatsborger -> ApiOpplysning.ER_NORSK_STATSBORGER
}
is AuthOpplysning -> when (opplysning) {
AuthOpplysning.IkkeSammeSomInnloggerBruker -> ApiOpplysning.IKKE_SAMME_SOM_INNLOGGER_BRUKER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ components:
- "INGEN_FLYTTE_INFORMASJON"
- "ER_GBR_STATSBORGER"
- "ER_EU_EOES_STATSBORGER"
- "ER_NORSK_STATSBORGER"
- "UKJENT_OPPLYSNING"
ApiRegelId:
type: "string"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ data object NorskBrukerBosattINorge: TestCase {
Opplysning.SISTE_FLYTTING_VAR_INN_TIL_NORGE,
Opplysning.IKKE_ANSATT,
Opplysning.SAMME_SOM_INNLOGGET_BRUKER,
Opplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE
Opplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE,
Opplysning.ER_NORSK_STATSBORGER
)
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,5 @@ fun domeneOpplysningTilHendelseOpplysning(opplysning: DomeneOpplysning): Hendels
DomeneOpplysning.UkjentFoedselsdato -> HendelseOpplysning.UKJENT_FOEDSELSDATO
DomeneOpplysning.UkjentForenkletFregStatus -> HendelseOpplysning.UKJENT_FORENKLET_FREG_STATUS
DomeneOpplysning.UkjentStatusForOppholdstillatelse -> HendelseOpplysning.UKJENT_STATUS_FOR_OPPHOLDSTILLATELSE
DomeneOpplysning.ErNorskStatsborger -> HendelseOpplysning.ER_NORSK_STATSBORGER
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ sealed interface DomeneOpplysning: Opplysning {
override val beskrivelse = "Personen start/stopp av periode utføres på er britisk statsborger"
}

data object ErNorskStatsborger: DomeneOpplysning, Effect.Positive {
override val id = "ER_NORSK_STATSBORGER"
override val beskrivelse = "Personen start/stopp av periode utføres på er norsk statsborger"
}

data object UkjentFoedselsdato : DomeneOpplysning, Effect.Negative {
override val id = "UKJENT_FOEDSELSDATO"
override val beskrivelse = "Personen start/stopp av periode utføres på har ukjent fødselsdato"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@ package no.nav.paw.arbeidssokerregisteret.application.opplysninger
import no.nav.paw.pdl.graphql.generated.hentperson.Statsborgerskap
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning.*

fun gbrStatsborgerOpplysning(statsborgerskap: List<Statsborgerskap>): Set<Opplysning> =
statsborgerskap.map { it.land.uppercase() }
.any { it == "GBR" }
.let { return if (it) setOf(ErGbrStatsborger) else emptySet() }

fun norskStatsborgerOpplysning(statsborgerskap: List<Statsborgerskap>): Set<Opplysning> =
statsborgerskap.map { it.land.uppercase() }
.any { it == "NOR" }
.let { return if (it) setOf(ErNorskStatsborger) else emptySet() }

fun euEoesStatsborgerOpplysning(statsborgerskap: List<Statsborgerskap>): Set<Opplysning> =
statsborgerskap.map { it.land.uppercase() }
.any { it in eea }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package no.nav.paw.arbeidssokerregisteret.application

import io.kotest.core.spec.style.FreeSpec
import io.kotest.matchers.collections.shouldContain
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning.ErNorskStatsborger
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.norskStatsborgerOpplysning
import no.nav.paw.pdl.graphql.generated.hentperson.Metadata
import no.nav.paw.pdl.graphql.generated.hentperson.Statsborgerskap

class NorskStatsborgerTest : FreeSpec({
"Test for NOR statsborgere" - {
"bare et statsborgerskap" {
val statsborgerskap = Statsborgerskap("NOR", Metadata(emptyList()))
norskStatsborgerOpplysning(listOf(statsborgerskap)) shouldContain ErNorskStatsborger
}
"flere statsborgerskap" {
val statsborgerskap0 = Statsborgerskap("GBR", Metadata(emptyList()))
val statsborgerskap1 = Statsborgerskap("NOR", Metadata(emptyList()))
val statsborgerskap2 = Statsborgerskap("USA", Metadata(emptyList()))
norskStatsborgerOpplysning(
listOf(
statsborgerskap0,
statsborgerskap1,
statsborgerskap2
)
) shouldContain ErNorskStatsborger
}
}
"Test for ikke NOR statsborgere" - {
val statsborgerskap = Statsborgerskap("NOR", Metadata(emptyList()))
"Statsborgerskap: ${statsborgerskap.land} er ikke NOR" {
norskStatsborgerOpplysning(listOf(statsborgerskap)).isEmpty()
}
}
})
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ enum class Opplysning {
INGEN_FLYTTE_INFORMASJON,
ER_EU_EOES_STATSBORGER,
ER_GBR_STATSBORGER,
ER_NORSK_STATSBORGER,
@JsonEnumDefaultValue
UKJENT_OPPLYSNING
}

0 comments on commit 3501504

Please sign in to comment.