From 99692d3c545f1b2dc80afe5fe368165272cfd53f Mon Sep 17 00:00:00 2001 From: Erik Maximilian Forsman Date: Tue, 21 May 2024 12:28:19 +0200 Subject: [PATCH] =?UTF-8?q?En=20test=20som=20viser=20feil=20ved=20out=20of?= =?UTF-8?q?=20order=20s=C3=B8knader?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marte Tårnes --- .../nav/helse/sporbar/BehandlingstatusTest.kt | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/test/kotlin/no/nav/helse/sporbar/BehandlingstatusTest.kt b/src/test/kotlin/no/nav/helse/sporbar/BehandlingstatusTest.kt index 504f60a..5724b63 100644 --- a/src/test/kotlin/no/nav/helse/sporbar/BehandlingstatusTest.kt +++ b/src/test/kotlin/no/nav/helse/sporbar/BehandlingstatusTest.kt @@ -49,7 +49,7 @@ class BehandlingstatusTest { sendVedtaksperiodeVenter(vedtaksperiodeId, "GODKJENNING") sendBehandlingLukket(vedtaksperiodeId) - assertEquals(setOf(eksternSøknadId), sisPublisher.sendteMeldinger[vedtaksperiodeId]?.mapNotNull { it.eksternSøknadId }?.toSet()) + assertEquals(setOf(eksternSøknadId), sisPublisher.eksterneSøknadIder(vedtaksperiodeId)) assertEquals(4, sisPublisher.sendteMeldinger[vedtaksperiodeId]?.size) assertEquals(listOf(OPPRETTET, VENTER_PÅ_ARBEIDSGIVER, VENTER_PÅ_SAKSBEHANDLER, FERDIG), sisPublisher.sendteStatuser[vedtaksperiodeId]) } @@ -66,6 +66,33 @@ class BehandlingstatusTest { assertEquals(listOf(OPPRETTET, VENTER_PÅ_ARBEIDSGIVER, BEHANDLES_UTENFOR_SPEIL), sisPublisher.sendteStatuser[vedtaksperiodeId]) } + @Test + fun `Out of order søknad`() { + val søknadIdMars = UUID.randomUUID() + val eksternSøknadIdMars = UUID.randomUUID() + val vedtaksperiodeIdMars = UUID.randomUUID() + sendSøknad(søknadIdMars, eksternSøknadIdMars) + sendBehandlingOpprettet(vedtaksperiodeIdMars, søknadIdMars) + sendVedtaksperiodeVenterPåGodkjenning(vedtaksperiodeIdMars) + sendBehandlingLukket(vedtaksperiodeIdMars) + assertEquals(listOf(OPPRETTET, VENTER_PÅ_ARBEIDSGIVER, VENTER_PÅ_SAKSBEHANDLER, FERDIG), sisPublisher.sendteStatuser[vedtaksperiodeIdMars]) + assertEquals(setOf(eksternSøknadIdMars), sisPublisher.eksterneSøknadIder(vedtaksperiodeIdMars)) + + val søknadIdJanuar = UUID.randomUUID() + val eksternSøknadIdJanuar = UUID.randomUUID() + val vedtaksperiodeIdJanuar = UUID.randomUUID() + + sendSøknad(søknadIdJanuar, eksternSøknadIdJanuar) + sendBehandlingOpprettet(vedtaksperiodeIdJanuar, søknadIdJanuar) + sendBehandlingOpprettet(vedtaksperiodeIdMars, søknadIdJanuar) // Feil1: Ettersom januar-søknaden er den som sparker i gang showet, så peker alt på den + + assertEquals(listOf(OPPRETTET, VENTER_PÅ_ARBEIDSGIVER, VENTER_PÅ_SAKSBEHANDLER, FERDIG, OPPRETTET, VENTER_PÅ_ARBEIDSGIVER), sisPublisher.sendteStatuser[vedtaksperiodeIdMars]) + assertEquals(setOf(eksternSøknadIdJanuar, eksternSøknadIdMars), sisPublisher.eksterneSøknadIder(vedtaksperiodeIdMars)) // Feil1: Mars-perioden får kobling mot januarSøknad + + assertEquals(listOf(OPPRETTET, VENTER_PÅ_ARBEIDSGIVER), sisPublisher.sendteStatuser[vedtaksperiodeIdJanuar]) // Feil2: Vi trenger ikke noe mer fra arbeidsgiver her + assertEquals(setOf(eksternSøknadIdJanuar), sisPublisher.eksterneSøknadIder(vedtaksperiodeIdJanuar)) + } + private fun sendSøknad(søknadId: UUID, eksternSøknadId: UUID = UUID.randomUUID()) { @Language("JSON") val melding = """{ @@ -107,6 +134,7 @@ class BehandlingstatusTest { }""".trimIndent() testRapid.sendTestMessage(melding) } + private fun sendVedtaksperiodeVenterPåGodkjenning(vedtaksperiodeId: UUID) = sendVedtaksperiodeVenter(vedtaksperiodeId, "GODKJENNING") private fun sendBehandlingLukket(vedtaksperiodeId: UUID) { @Language("JSON") val melding = """{ @@ -142,6 +170,8 @@ class BehandlingstatusTest { forrige?.plus(melding.status)?.toMutableList() ?: mutableListOf(melding.status) } } + + fun eksterneSøknadIder(vedtaksperiodeId: UUID) = sendteMeldinger[vedtaksperiodeId]?.mapNotNull { it.eksternSøknadId }?.toSet() ?: emptySet() } } \ No newline at end of file