|
| 1 | +package no.nav.paw.arbeidssoekerregisteret.bekreftelse.minsideoppgaver.applogic |
| 2 | + |
| 3 | +import io.kotest.core.spec.style.FreeSpec |
| 4 | +import io.kotest.matchers.shouldBe |
| 5 | +import no.nav.paw.arbeidssoekerregisteret.bekreftelse.minsideoppgaver.vo.InternTilstand |
| 6 | +import no.nav.paw.arbeidssoekerregisteret.testdata.kafkaKeyContext |
| 7 | +import no.nav.paw.arbeidssoekerregisteret.testdata.mainavro.metadata |
| 8 | +import no.nav.paw.arbeidssoekerregisteret.testdata.mainavro.periode |
| 9 | +import java.util.* |
| 10 | + |
| 11 | +class GenererTilstandTest : FreeSpec({ |
| 12 | + |
| 13 | + "Når en ny periode kommer inn opprettes tilsvarende tilstand" { |
| 14 | + with(kafkaKeyContext()) { |
| 15 | + val periode = periode().value |
| 16 | + genererTilstand( |
| 17 | + gjeldeneTilstand = null, |
| 18 | + periode = periode |
| 19 | + ) shouldBe InternTilstand( |
| 20 | + periodeId = periode.id, |
| 21 | + ident = periode.identitetsnummer, |
| 22 | + bekreftelser = emptyList() |
| 23 | + ) |
| 24 | + } |
| 25 | + } |
| 26 | + |
| 27 | + "Når en periode avsluttes endres ikke tilstanden" { |
| 28 | + with(kafkaKeyContext()) { |
| 29 | + val periode = periode(avsluttetMetadata = metadata()).value |
| 30 | + val gjeldeneTilstand = InternTilstand( |
| 31 | + periodeId = periode.id, |
| 32 | + ident = periode.identitetsnummer, |
| 33 | + bekreftelser = listOf(UUID.randomUUID()) |
| 34 | + ) |
| 35 | + genererTilstand( |
| 36 | + gjeldeneTilstand = gjeldeneTilstand, |
| 37 | + periode = periode |
| 38 | + ) shouldBe gjeldeneTilstand |
| 39 | + } |
| 40 | + } |
| 41 | + |
| 42 | + "Når identitetsnummer på en periode endres blir intern tilstand oppdatert" { |
| 43 | + with(kafkaKeyContext()) { |
| 44 | + val periode = periode(identitetsnummer = "00998877654").value |
| 45 | + val gjeldeneTilstand = InternTilstand( |
| 46 | + periodeId = periode.id, |
| 47 | + ident = "12345678909", |
| 48 | + bekreftelser = listOf(UUID.randomUUID(), UUID.randomUUID()) |
| 49 | + ) |
| 50 | + genererTilstand( |
| 51 | + gjeldeneTilstand = gjeldeneTilstand, |
| 52 | + periode = periode |
| 53 | + ) shouldBe gjeldeneTilstand.copy( |
| 54 | + ident = periode.identitetsnummer |
| 55 | + ) |
| 56 | + } |
| 57 | + } |
| 58 | +}) |
0 commit comments