Skip to content

Commit

Permalink
Flyttet domene opplysninger inn i DomeneOpplysning interfacet (inner …
Browse files Browse the repository at this point in the history
…class)
  • Loading branch information
nilsmsa committed Jun 27, 2024
1 parent ca44224 commit 3a7c01e
Show file tree
Hide file tree
Showing 18 changed files with 242 additions and 200 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class RequestValidator(
val autentiseringsFakta = tokenXPidFakta(identitetsnummer) +
autorisasjonService.navAnsattTilgangFakta(identitetsnummer) +
if (erForhaandsGodkjentAvVeileder) {
setOf(ErForhaandsgodkjent)
setOf(DomeneOpplysning.ErForhaandsgodkjent)
} else {
emptySet()
}
Expand All @@ -43,7 +43,7 @@ class RequestValidator(
validerTilgang(identitetsnummer, erForhaandsGodkjentAvVeileder)
.flatMap { tilgangsResultat ->
val person = personInfoService.hentPersonInfo(identitetsnummer.verdi)
val opplysning = person?.let { genererPersonFakta(it) } ?: setOf(PersonIkkeFunnet)
val opplysning = person?.let { genererPersonFakta(it) } ?: setOf(DomeneOpplysning.PersonIkkeFunnet)
reglerForInngangIPrioritertRekkefolge.evaluer(opplysning + tilgangsResultat.opplysning)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package no.nav.paw.arbeidssokerregisteret.application.regler

import no.nav.paw.arbeidssokerregisteret.application.*
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.*
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.ErForhaandsgodkjent
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning

val tilgangsReglerIPrioritertRekkefolge: List<Regel> = listOf(
"Ansatt har tilgang til bruker"(
Expand All @@ -11,7 +11,7 @@ val tilgangsReglerIPrioritertRekkefolge: List<Regel> = listOf(
vedTreff = ::ok
),
"Ikke ansatt har satt forhåndsgodkjenningAvVeileder"(
ErForhaandsgodkjent,
DomeneOpplysning.ErForhaandsgodkjent,
IkkeAnsatt,
id = IkkeAnsattOgForhaandsgodkjentAvAnsatt,
vedTreff = ::problem
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,34 +41,34 @@ suspend fun PipelineContext<Unit, ApplicationCall>.respondWithError(problem: Pro
fun opplysningTilApiOpplysning(opplysning: Opplysning): ApiOpplysning =
when (opplysning) {
is DomeneOpplysning -> when (opplysning) {
BarnFoedtINorgeUtenOppholdstillatelse -> ApiOpplysning.BARN_FOEDT_I_NORGE_UTEN_OPPHOLDSTILLATELSE
BosattEtterFregLoven -> ApiOpplysning.BOSATT_ETTER_FREG_LOVEN
Dnummer -> ApiOpplysning.DNUMMER
ErDoed -> ApiOpplysning.DOED
ErEuEoesStatsborger -> ApiOpplysning.ER_EU_EOES_STATSBORGER
ErForhaandsgodkjent -> ApiOpplysning.FORHAANDSGODKJENT_AV_ANSATT
ErGbrStatsborger -> ApiOpplysning.ER_GBR_STATSBORGER
ErOver18Aar -> ApiOpplysning.ER_OVER_18_AAR
ErSavnet -> ApiOpplysning.SAVNET
ErUnder18Aar -> ApiOpplysning.ER_UNDER_18_AAR
HarGyldigOppholdstillatelse -> ApiOpplysning.HAR_GYLDIG_OPPHOLDSTILLATELSE
HarNorskAdresse -> ApiOpplysning.HAR_NORSK_ADRESSE
HarUtenlandskAdresse -> ApiOpplysning.HAR_UTENLANDSK_ADRESSE
IkkeBosatt -> ApiOpplysning.IKKE_BOSATT
IkkeMuligAAIdentifisereSisteFlytting -> ApiOpplysning.IKKE_MULIG_AA_IDENTIFISERE_SISTE_FLYTTING
IngenAdresseFunnet -> ApiOpplysning.INGEN_ADRESSE_FUNNET
IngenFlytteInformasjon -> ApiOpplysning.INGEN_FLYTTE_INFORMASJON
IngenInformasjonOmOppholdstillatelse -> ApiOpplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE
OpphoertIdentitet -> ApiOpplysning.OPPHOERT_IDENTITET
OppholdstillatelseUtgaaatt -> ApiOpplysning.OPPHOLDSTILATELSE_UTGAATT
PersonIkkeFunnet -> ApiOpplysning.PERSON_IKKE_FUNNET
SisteFlyttingVarInnTilNorge -> ApiOpplysning.SISTE_FLYTTING_VAR_INN_TIL_NORGE
SisteFlyttingVarUtAvNorge -> ApiOpplysning.SISTE_FLYTTING_VAR_UT_AV_NORGE
TokenxPidIkkeFunnet -> ApiOpplysning.TOKENX_PID_IKKE_FUNNET
UkjentFoedselsaar -> ApiOpplysning.UKJENT_FOEDSELSAAR
UkjentFoedselsdato -> ApiOpplysning.UKJENT_FOEDSELSDATO
UkjentForenkletFregStatus -> ApiOpplysning.UKJENT_FORENKLET_FREG_STATUS
UkjentStatusForOppholdstillatelse -> ApiOpplysning.UKJENT_STATUS_FOR_OPPHOLDSTILLATELSE
DomeneOpplysning.BarnFoedtINorgeUtenOppholdstillatelse -> ApiOpplysning.BARN_FOEDT_I_NORGE_UTEN_OPPHOLDSTILLATELSE
DomeneOpplysning.BosattEtterFregLoven -> ApiOpplysning.BOSATT_ETTER_FREG_LOVEN
DomeneOpplysning.Dnummer -> ApiOpplysning.DNUMMER
DomeneOpplysning.ErDoed -> ApiOpplysning.DOED
DomeneOpplysning.ErEuEoesStatsborger -> ApiOpplysning.ER_EU_EOES_STATSBORGER
DomeneOpplysning.ErForhaandsgodkjent -> ApiOpplysning.FORHAANDSGODKJENT_AV_ANSATT
DomeneOpplysning.ErGbrStatsborger -> ApiOpplysning.ER_GBR_STATSBORGER
DomeneOpplysning.ErOver18Aar -> ApiOpplysning.ER_OVER_18_AAR
DomeneOpplysning.ErSavnet -> ApiOpplysning.SAVNET
DomeneOpplysning.ErUnder18Aar -> ApiOpplysning.ER_UNDER_18_AAR
DomeneOpplysning.HarGyldigOppholdstillatelse -> ApiOpplysning.HAR_GYLDIG_OPPHOLDSTILLATELSE
DomeneOpplysning.HarNorskAdresse -> ApiOpplysning.HAR_NORSK_ADRESSE
DomeneOpplysning.HarUtenlandskAdresse -> ApiOpplysning.HAR_UTENLANDSK_ADRESSE
DomeneOpplysning.IkkeBosatt -> ApiOpplysning.IKKE_BOSATT
DomeneOpplysning.IkkeMuligAAIdentifisereSisteFlytting -> ApiOpplysning.IKKE_MULIG_AA_IDENTIFISERE_SISTE_FLYTTING
DomeneOpplysning.IngenAdresseFunnet -> ApiOpplysning.INGEN_ADRESSE_FUNNET
DomeneOpplysning.IngenFlytteInformasjon -> ApiOpplysning.INGEN_FLYTTE_INFORMASJON
DomeneOpplysning.IngenInformasjonOmOppholdstillatelse -> ApiOpplysning.INGEN_INFORMASJON_OM_OPPHOLDSTILLATELSE
DomeneOpplysning.OpphoertIdentitet -> ApiOpplysning.OPPHOERT_IDENTITET
DomeneOpplysning.OppholdstillatelseUtgaaatt -> ApiOpplysning.OPPHOLDSTILATELSE_UTGAATT
DomeneOpplysning.PersonIkkeFunnet -> ApiOpplysning.PERSON_IKKE_FUNNET
DomeneOpplysning.SisteFlyttingVarInnTilNorge -> ApiOpplysning.SISTE_FLYTTING_VAR_INN_TIL_NORGE
DomeneOpplysning.SisteFlyttingVarUtAvNorge -> ApiOpplysning.SISTE_FLYTTING_VAR_UT_AV_NORGE
DomeneOpplysning.TokenxPidIkkeFunnet -> ApiOpplysning.TOKENX_PID_IKKE_FUNNET
DomeneOpplysning.UkjentFoedselsaar -> ApiOpplysning.UKJENT_FOEDSELSAAR
DomeneOpplysning.UkjentFoedselsdato -> ApiOpplysning.UKJENT_FOEDSELSDATO
DomeneOpplysning.UkjentForenkletFregStatus -> ApiOpplysning.UKJENT_FORENKLET_FREG_STATUS
DomeneOpplysning.UkjentStatusForOppholdstillatelse -> ApiOpplysning.UKJENT_STATUS_FOR_OPPHOLDSTILLATELSE
}
is AuthOpplysning -> when (opplysning) {
IkkeSammeSomInnloggerBruker -> ApiOpplysning.IKKE_SAMME_SOM_INNLOGGER_BRUKER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ import io.mockk.coEvery
import io.mockk.mockk
import no.nav.paw.arbeidssoekerregisteret.api.startstopp.models.*
import no.nav.paw.arbeidssokerregisteret.application.*
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.BosattEtterFregLoven
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.ErUnder18Aar
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning
import no.nav.paw.arbeidssokerregisteret.plugins.configureHTTP
import no.nav.paw.arbeidssokerregisteret.plugins.configureSerialization
import no.nav.paw.arbeidssokerregisteret.routes.arbeidssokerRoutes
Expand All @@ -38,10 +37,10 @@ class ApplicationPeriodeTest : FunSpec({
regel = Regel(
id = Under18Aar,
beskrivelse = "under 18 år",
opplysninger = listOf(ErUnder18Aar),
opplysninger = listOf(DomeneOpplysning.ErUnder18Aar),
vedTreff = ::problem
),
opplysning = listOf(ErUnder18Aar, BosattEtterFregLoven)
opplysning = listOf(DomeneOpplysning.ErUnder18Aar, DomeneOpplysning.BosattEtterFregLoven)
).left()
arbeidssokerRoutes(startStoppRequestHandler, mockk())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import io.kotest.matchers.types.shouldBeInstanceOf
import no.nav.paw.arbeidssokerregisteret.application.*
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AnsattTilgang
import no.nav.paw.arbeidssokerregisteret.application.authfaktka.IkkeAnsatt
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.ErForhaandsgodkjent
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning
import no.nav.paw.arbeidssokerregisteret.application.regler.AnsattHarTilgangTilBruker
import no.nav.paw.arbeidssokerregisteret.application.regler.IkkeAnsattOgForhaandsgodkjentAvAnsatt
import no.nav.paw.arbeidssokerregisteret.application.regler.tilgangsReglerIPrioritertRekkefolge
Expand All @@ -19,21 +19,21 @@ class TilgansReglerTest : FreeSpec({
val resultat = tilgangsReglerIPrioritertRekkefolge.evaluer(
setOf(
IkkeAnsatt,
ErForhaandsgodkjent
DomeneOpplysning.ErForhaandsgodkjent
)
).shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.regel.id shouldBe IkkeAnsattOgForhaandsgodkjentAvAnsatt
resultat.value.opplysning shouldContainAll listOf(IkkeAnsatt, ErForhaandsgodkjent)
resultat.value.opplysning shouldContainAll listOf(IkkeAnsatt, DomeneOpplysning.ErForhaandsgodkjent)
}
"lovlig kombinasjon av ANSATT og FORHANDSGODKJENT_AV_ANSATT" {
val resultat = tilgangsReglerIPrioritertRekkefolge.evaluer(
setOf(
AnsattTilgang,
ErForhaandsgodkjent
DomeneOpplysning.ErForhaandsgodkjent
)
).shouldBeInstanceOf<Either.Right<OK>>()
resultat.value.regel.id shouldBe AnsattHarTilgangTilBruker
resultat.value.opplysning shouldContainAll listOf(AnsattTilgang, ErForhaandsgodkjent)
resultat.value.opplysning shouldContainAll listOf(AnsattTilgang, DomeneOpplysning.ErForhaandsgodkjent)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ class RequestValidatorTest : FreeSpec({
requestValidator.validerTilgang(identitsnummer)
}.shouldBeInstanceOf<Either.Right<OK>>()
tilgangskontrollresultat.value.opplysning shouldContain AnsattTilgang
tilgangskontrollresultat.value.opplysning shouldNotContain ErForhaandsgodkjent
tilgangskontrollresultat.value.opplysning shouldNotContain DomeneOpplysning.ErForhaandsgodkjent
}
"Når forhandsgodkjent av ansatt er true" {
val tilgangskontrollresultat = with(requestScope) {
requestValidator.validerTilgang(identitsnummer, true)
}.shouldBeInstanceOf<Either.Right<OK>>()
tilgangskontrollresultat.value.opplysning shouldContain AnsattTilgang
tilgangskontrollresultat.value.opplysning shouldContain ErForhaandsgodkjent
tilgangskontrollresultat.value.opplysning shouldContain DomeneOpplysning.ErForhaandsgodkjent
}
}
"Når veileder ikke har tilgang til bruker" {
Expand Down Expand Up @@ -91,14 +91,14 @@ class RequestValidatorTest : FreeSpec({
requestValidator.validerTilgang(identitsnummer)
}.shouldBeInstanceOf<Either.Right<OK>>()
tilgangskontrollresultat.value.opplysning shouldContain IkkeAnsatt
tilgangskontrollresultat.value.opplysning shouldNotContain ErForhaandsgodkjent
tilgangskontrollresultat.value.opplysning shouldNotContain DomeneOpplysning.ErForhaandsgodkjent
}
"forhåndsgodkjentflagg" {
val tilgangskontrollresultat = with(requestScope) {
requestValidator.validerTilgang(identitsnummer, true)
}.shouldBeInstanceOf<Either.Left<Problem>>()
tilgangskontrollresultat.value.opplysning shouldContain IkkeAnsatt
tilgangskontrollresultat.value.opplysning shouldContain ErForhaandsgodkjent
tilgangskontrollresultat.value.opplysning shouldContain DomeneOpplysning.ErForhaandsgodkjent
tilgangskontrollresultat.value.regel.id.shouldBe(IkkeAnsattOgForhaandsgodkjentAvAnsatt)
}
}
Expand Down Expand Up @@ -144,15 +144,15 @@ class RequestValidatorTest : FreeSpec({
requestValidator.validerStartAvPeriodeOenske(identitsnummer, true)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain IkkeAnsatt
resultat.value.opplysning shouldContain ErForhaandsgodkjent
resultat.value.opplysning shouldContain DomeneOpplysning.ErForhaandsgodkjent
}

"godkjent av veileder er false" {
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Right<OK>>()
resultat.value.opplysning shouldContain IkkeAnsatt
resultat.value.opplysning shouldNotContain ErForhaandsgodkjent
resultat.value.opplysning shouldNotContain DomeneOpplysning.ErForhaandsgodkjent
}
}

Expand Down Expand Up @@ -188,7 +188,7 @@ class RequestValidatorTest : FreeSpec({
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain IkkeBosatt
resultat.value.opplysning shouldContain DomeneOpplysning.IkkeBosatt
resultat.value.regel.id shouldBe IkkeBosattINorgeIHenholdTilFolkeregisterloven
}
"Bruker har dNummer" {
Expand Down Expand Up @@ -229,8 +229,8 @@ class RequestValidatorTest : FreeSpec({
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain IkkeBosatt
resultat.value.opplysning shouldContain Dnummer
resultat.value.opplysning shouldContain DomeneOpplysning.IkkeBosatt
resultat.value.opplysning shouldContain DomeneOpplysning.Dnummer
resultat.value.regel.id shouldBe IkkeBosattINorgeIHenholdTilFolkeregisterloven
}
"Person ikke funnet" {
Expand All @@ -250,7 +250,7 @@ class RequestValidatorTest : FreeSpec({
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain PersonIkkeFunnet
resultat.value.opplysning shouldContain DomeneOpplysning.PersonIkkeFunnet
resultat.value.regel.id shouldBe IkkeFunnet
}
"Ukjent alder" {
Expand Down Expand Up @@ -278,7 +278,7 @@ class RequestValidatorTest : FreeSpec({
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain UkjentFoedselsdato
resultat.value.opplysning shouldContain DomeneOpplysning.UkjentFoedselsdato
}
"Registrert som død" {
val requestScope = RequestScope(
Expand Down Expand Up @@ -312,7 +312,7 @@ class RequestValidatorTest : FreeSpec({
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain ErDoed
resultat.value.opplysning shouldContain DomeneOpplysning.ErDoed
}
"Registrert som savnet" {
val requestScope = RequestScope(
Expand Down Expand Up @@ -352,7 +352,7 @@ class RequestValidatorTest : FreeSpec({
val resultat = with(requestScope) {
requestValidator.validerStartAvPeriodeOenske(identitsnummer)
}.shouldBeInstanceOf<Either.Left<Problem>>()
resultat.value.opplysning shouldContain ErSavnet
resultat.value.opplysning shouldContain DomeneOpplysning.ErSavnet
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.paw.arbeidssokerregisteret.application

import no.nav.paw.arbeidssokerregisteret.application.opplysninger.*
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning.*

val reglerForInngangIPrioritertRekkefolge: List<Regel> = listOf(
"Person ikke funnet"(
Expand Down
Loading

0 comments on commit 3a7c01e

Please sign in to comment.