@@ -2,23 +2,72 @@ package no.nav.syfo.personstatus.domain
2
2
3
3
import no.nav.syfo.aktivitetskravvurdering.domain.AktivitetskravStatus
4
4
import no.nav.syfo.aktivitetskravvurdering.domain.toPersonOversiktStatus
5
+ import no.nav.syfo.dialogmotekandidat.kafka.toPersonOversiktStatus
5
6
import no.nav.syfo.domain.PersonIdent
6
7
import no.nav.syfo.testutil.UserConstants
7
8
import no.nav.syfo.testutil.generator.AktivitetskravGenerator
9
+ import no.nav.syfo.testutil.generator.generateKafkaDialogmotekandidatEndringStoppunkt
10
+ import no.nav.syfo.testutil.generator.generateOppfolgingstilfelle
8
11
import org.amshove.kluent.shouldBeEqualTo
9
12
import org.spekframework.spek2.Spek
10
13
import org.spekframework.spek2.style.specification.describe
11
14
import java.time.LocalDate
15
+ import java.time.OffsetDateTime
12
16
13
17
val arenaCutoff: LocalDate = LocalDate .now()
14
18
15
- class PersonOversikstStatusSpek : Spek ({
16
- val aktivitetskravGenerator = AktivitetskravGenerator (
17
- arenaCutoff = arenaCutoff,
18
- )
19
+ class PersonOversiktStatusSpek : Spek ({
19
20
val defaultPersonident = PersonIdent (UserConstants .ARBEIDSTAKER_FNR )
20
21
22
+ describe("isDialogmotekandidat") {
23
+ val activeOppfolgingstilfelle = generateOppfolgingstilfelle(
24
+ start = LocalDate .now().minusWeeks(2),
25
+ end = LocalDate .now().plusDays(5),
26
+ antallSykedager = 19
27
+ )
28
+
29
+ /*
30
+ * Vi lar det gå syv dager fra personen er generert som dialogmøtekandidat til de dukker opp i oversikten slik at partene rekker å svare på møtebehov.
31
+ */
32
+ it("returns true if dialogmotekandidat generated after start of latest oppfolgingstilfelle and more than seven days ago") {
33
+ val dialogmotekandidatEndring = generateKafkaDialogmotekandidatEndringStoppunkt(
34
+ personIdent = defaultPersonident.value,
35
+ createdAt = OffsetDateTime .now().minusDays(8),
36
+ )
37
+ val personOversiktStatus = dialogmotekandidatEndring.toPersonOversiktStatus()
38
+ .copy(
39
+ latestOppfolgingstilfelle = activeOppfolgingstilfelle
40
+ )
41
+ personOversiktStatus.isDialogmotekandidat() shouldBeEqualTo true
42
+ }
43
+ it("returns true if dialogmotekandidat generated after start of latest oppfolgingstilfelle and seven days ago") {
44
+ val dialogmotekandidatEndring = generateKafkaDialogmotekandidatEndringStoppunkt(
45
+ personIdent = defaultPersonident.value,
46
+ createdAt = OffsetDateTime .now().minusDays(7),
47
+ )
48
+ val personOversiktStatus = dialogmotekandidatEndring.toPersonOversiktStatus()
49
+ .copy(
50
+ latestOppfolgingstilfelle = activeOppfolgingstilfelle
51
+ )
52
+ personOversiktStatus.isDialogmotekandidat() shouldBeEqualTo true
53
+ }
54
+ it("returns false if dialogmotekandidat generated after start of latest oppfolgingstilfelle but less than seven days ago") {
55
+ val dialogmotekandidatEndring = generateKafkaDialogmotekandidatEndringStoppunkt(
56
+ personIdent = defaultPersonident.value,
57
+ createdAt = OffsetDateTime .now().minusDays(6),
58
+ )
59
+ val personOversiktStatus = dialogmotekandidatEndring.toPersonOversiktStatus()
60
+ .copy(
61
+ latestOppfolgingstilfelle = activeOppfolgingstilfelle
62
+ )
63
+ personOversiktStatus.isDialogmotekandidat() shouldBeEqualTo false
64
+ }
65
+ }
66
+
21
67
describe("isActiveAktivitetskrav") {
68
+ val aktivitetskravGenerator = AktivitetskravGenerator (
69
+ arenaCutoff = arenaCutoff,
70
+ )
22
71
it("returns true if AktivitetskravStatus is NY and stoppunkt after arena cutoff") {
23
72
val person = aktivitetskravGenerator.generateAktivitetskrav(
24
73
personIdent = defaultPersonident,
0 commit comments