Skip to content

Commit aa19fb3

Browse files
committed
Teste funksjonen formaterer varseler fra authority
1 parent 7c7f1d2 commit aa19fb3

File tree

2 files changed

+106
-0
lines changed

2 files changed

+106
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package no.nav.tms.varsel.api.varsel
2+
3+
import io.kotest.matchers.shouldBe
4+
import org.junit.jupiter.api.Test
5+
6+
class AlleVarslerTest {
7+
@Test
8+
fun `Skal markere maskert varsel i output`() {
9+
val incomingVarsel1 = AlleVarslerTestData.incomingVarsel(innhold = null)
10+
val incomingVarsel2 = AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave)
11+
val incomingVarsel3 = AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave, innhold = null)
12+
val incomingVarsel4 = AlleVarslerTestData.incomingVarsel()
13+
14+
15+
AlleVarsler.fromVarsler(listOf(incomingVarsel1,incomingVarsel2,incomingVarsel3,incomingVarsel4)).apply {
16+
hasMaskedVarsel shouldBe true
17+
aktive.beskjeder[0].isMasked shouldBe true
18+
aktive.oppgaver[0].isMasked shouldBe false
19+
aktive.beskjeder[1].isMasked shouldBe false
20+
}
21+
}
22+
23+
@Test
24+
fun `Riktig antall varsler i output `() {
25+
val incomingVarselList = listOf(
26+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed),
27+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed),
28+
AlleVarslerTestData.incomingVarsel(type = VarselType.innboks),
29+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave),
30+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave),
31+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed, aktiv = false),
32+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed, aktiv = false),
33+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave, aktiv = false),
34+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave, aktiv = false),
35+
AlleVarslerTestData.incomingVarsel(type = VarselType.innboks, aktiv = false)
36+
)
37+
38+
AlleVarsler.fromVarsler(incomingVarselList).apply {
39+
aktive.beskjeder.size shouldBe 3
40+
aktive.oppgaver.size shouldBe 2
41+
inaktive.size shouldBe 5
42+
}
43+
}
44+
45+
@Test
46+
fun `Kun aktive og ikke-maskerte beskjeder skal være inaktiverbare`() {
47+
val incomingVarselList = listOf(
48+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed),
49+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed),
50+
AlleVarslerTestData.incomingVarsel(type = VarselType.innboks),
51+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave),
52+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave),
53+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed, aktiv = false),
54+
AlleVarslerTestData.incomingVarsel(type = VarselType.beskjed, aktiv = false),
55+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave, aktiv = false),
56+
AlleVarslerTestData.incomingVarsel(type = VarselType.oppgave, aktiv = false),
57+
AlleVarslerTestData.incomingVarsel(type = VarselType.innboks, aktiv = false)
58+
)
59+
60+
AlleVarsler.fromVarsler(incomingVarselList).apply {
61+
aktive.beskjeder[0].isInaktiverbar shouldBe true
62+
aktive.beskjeder[1].isInaktiverbar shouldBe true
63+
aktive.beskjeder[2].isInaktiverbar shouldBe false
64+
aktive.oppgaver.forEach() {
65+
it.isInaktiverbar shouldBe false
66+
}
67+
inaktive.forEach() {
68+
it.isInaktiverbar shouldBe false
69+
}
70+
}
71+
}
72+
73+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package no.nav.tms.varsel.api.varsel
2+
3+
import java.time.ZonedDateTime
4+
5+
object AlleVarslerTestData {
6+
fun incomingVarsel(
7+
type: VarselType = VarselType.beskjed,
8+
varselId: String = "123143",
9+
aktiv: Boolean = true,
10+
innhold: VarselAuthority.Innhold? = VarselAuthority.Innhold(
11+
link = "test . no",
12+
spraakkode = "nb",
13+
tekst = "Varsel test tekst"
14+
),
15+
eksternVarslingSendt: Boolean = false,
16+
eksternVarslingKanaler: List<String> = listOf("SMS", "EPOST"),
17+
opprettet: ZonedDateTime = ZonedDateTime.now(),
18+
aktivFremTil: ZonedDateTime = ZonedDateTime.now().plusDays(7),
19+
inaktivert: ZonedDateTime? = null
20+
): VarselAuthority.Varsel {
21+
return VarselAuthority.Varsel(
22+
type = type,
23+
varselId = varselId,
24+
aktiv = aktiv,
25+
innhold = innhold,
26+
eksternVarslingSendt = eksternVarslingSendt,
27+
eksternVarslingKanaler = eksternVarslingKanaler,
28+
opprettet = opprettet,
29+
aktivFremTil = aktivFremTil,
30+
inaktivert = inaktivert
31+
)
32+
}
33+
}

0 commit comments

Comments
 (0)