@@ -5,34 +5,63 @@ import io.kotest.core.spec.style.FreeSpec
5
5
import io.kotest.matchers.collections.shouldContainAll
6
6
import io.kotest.matchers.shouldBe
7
7
import io.kotest.matchers.types.shouldBeInstanceOf
8
- import no.nav.paw.arbeidssokerregisteret.application.*
9
- import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.AnsattTilgang
10
- import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning.IkkeAnsatt
8
+ import no.nav.paw.arbeidssokerregisteret.application.GrunnlagForGodkjenning
9
+ import no.nav.paw.arbeidssokerregisteret.application.Problem
10
+ import no.nav.paw.arbeidssokerregisteret.application.authfaktka.AuthOpplysning
11
+ import no.nav.paw.arbeidssokerregisteret.application.evaluer
11
12
import no.nav.paw.arbeidssokerregisteret.application.opplysninger.DomeneOpplysning
12
- import no.nav.paw.arbeidssokerregisteret.application.regler.*
13
+ import no.nav.paw.arbeidssokerregisteret.application.regler.AnsattHarTilgangTilBruker
14
+ import no.nav.paw.arbeidssokerregisteret.application.regler.IkkeAnsattOgIkkeSystemOgForhaandsgodkjent
15
+ import no.nav.paw.arbeidssokerregisteret.application.regler.SystemHarTilgangTilBruker
16
+ import no.nav.paw.arbeidssokerregisteret.application.regler.ValideringsRegler
13
17
import no.nav.paw.collections.PawNonEmptyList
14
18
15
19
class TilgansReglerTest : FreeSpec ({
16
20
" eval av tilgang skal gi" - {
17
- " ugydlig request ved IKKE_ANSATT kombinert med GODKJENT_AV_ANSATT" {
21
+ " ugydlig request ved IKKE_ANSATT og IKKE_SYSTEM kombinert med GODKJENT_AV_ANSATT" {
18
22
val resultat = ValideringsRegler .evaluer(
19
23
setOf(
20
- IkkeAnsatt ,
24
+ AuthOpplysning .IkkeAnsatt ,
25
+ AuthOpplysning .IkkeSystem ,
21
26
DomeneOpplysning .ErForhaandsgodkjent
22
27
)
23
28
).shouldBeInstanceOf<Either .Left <PawNonEmptyList <Problem >>>()
24
- resultat.value.first.regel.id shouldBe IkkeAnsattOgForhaandsgodkjentAvAnsatt
25
- resultat.value.first.opplysninger shouldContainAll listOf(IkkeAnsatt , DomeneOpplysning .ErForhaandsgodkjent )
29
+ resultat.value.first.regel.id shouldBe IkkeAnsattOgIkkeSystemOgForhaandsgodkjent
30
+ resultat.value.first.opplysninger shouldContainAll listOf(
31
+ AuthOpplysning .IkkeAnsatt ,
32
+ AuthOpplysning .IkkeSystem ,
33
+ DomeneOpplysning .ErForhaandsgodkjent
34
+ )
26
35
}
27
- " lovlig kombinasjon av ANSATT og FORHANDSGODKJENT_AV_ANSATT" {
36
+ " lovlig kombinasjon av ANSATT og IKKE_SYSTEM kombinert med FORHANDSGODKJENT_AV_ANSATT" {
28
37
val resultat = ValideringsRegler .evaluer(
29
38
setOf(
30
- AnsattTilgang ,
39
+ AuthOpplysning .AnsattTilgang ,
40
+ AuthOpplysning .IkkeSystem ,
31
41
DomeneOpplysning .ErForhaandsgodkjent
32
42
)
33
43
).shouldBeInstanceOf<Either .Right <GrunnlagForGodkjenning >>()
34
44
resultat.value.regel.id shouldBe AnsattHarTilgangTilBruker
35
- resultat.value.opplysning shouldContainAll listOf(AnsattTilgang , DomeneOpplysning .ErForhaandsgodkjent )
45
+ resultat.value.opplysning shouldContainAll listOf(
46
+ AuthOpplysning .AnsattTilgang ,
47
+ AuthOpplysning .IkkeSystem ,
48
+ DomeneOpplysning .ErForhaandsgodkjent
49
+ )
50
+ }
51
+ " lovlig kombinasjon av IKKE_ANSATT og SYSTEM kombinert med FORHANDSGODKJENT_AV_ANSATT" {
52
+ val resultat = ValideringsRegler .evaluer(
53
+ setOf(
54
+ AuthOpplysning .IkkeAnsatt ,
55
+ AuthOpplysning .SystemTilgang ,
56
+ DomeneOpplysning .ErForhaandsgodkjent
57
+ )
58
+ ).shouldBeInstanceOf<Either .Right <GrunnlagForGodkjenning >>()
59
+ resultat.value.regel.id shouldBe SystemHarTilgangTilBruker
60
+ resultat.value.opplysning shouldContainAll listOf(
61
+ AuthOpplysning .IkkeAnsatt ,
62
+ AuthOpplysning .SystemTilgang ,
63
+ DomeneOpplysning .ErForhaandsgodkjent
64
+ )
36
65
}
37
66
}
38
67
}
0 commit comments