Skip to content

Commit

Permalink
Alt med hvorfor != 'OVERSTYRING_IGANGSATT' inngĂ„r i alarm 🚹
Browse files Browse the repository at this point in the history
  • Loading branch information
fraadsbrandth committed Aug 5, 2024
1 parent 85ca132 commit 0581233
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ internal class VedtaksperiodeVentetilstandDao(private val dataSource: DataSource
@Language("PostgreSQL")
private val STUCK = """
SELECT * FROM vedtaksperiode_venter
-- MĂ„ ha ventet minst 5 minutter fĂžr vi anser det som stuck. Disse er mest sannsynlig i transit.
-- MĂ„ ha ventet minst 5 minutter fĂžr vi anser det som stuck. Disse er mest sannsynlig i transit.
-- 'ventetSiden' er sist gang vedtaksperioden endret tilstand, sÄ i tilstandene AVVENTER_BLOKKERENDE & AVENTER_REVURDERING blir det ofte feil Ä ta utgangspunkt i det tidspunktet.
-- F.eks. kan en periode vÊrt i AVVENTER_BLOKKERENDE i 2 mÄneder og ventet pÄ Godkjenning. Om perioden foran overstyres, og denne spÞrringen
-- kjÞres mens vi venter pÄ Utbetaling sÄ vil perioden melde om at den har ventet 2 mÄneder pÄ pÄ utbetaling.
Expand All @@ -80,6 +80,9 @@ internal class VedtaksperiodeVentetilstandDao(private val dataSource: DataSource
AND (
-- Om vi venter pÄ en av disse tingene skal det alltid vÊre alarm
(venterPaHva in ('BEREGNING', 'UTBETALING', 'HJELP'))
-- Om hvorfor er satt til noe skal det vÊre alarm sÄ fremt det ikke er pÄ grunn av overstyring igangsatt
OR
(venterPaHvorfor IS NOT NULL AND venterPaHvorfor != 'OVERSTYRING_IGANGSATT')
OR
-- Om vi venter for alltid skal alarmen gÄ nÄr vi har ventet 3 mÄneder, sÄ fremt det ikke venter pÄ godkjenning fra saksbehandler eller inntektsmelding
(venterForAlltid = true AND ventetSiden < (now() AT TIME ZONE 'Europe/Oslo') - INTERVAL '3 MONTHS' AND venterPaHva not in ('GODKJENNING', 'INNTEKTSMELDING'))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ internal abstract class AbstractVedtaksperiodeVentetilstandTest(
venterPĂ„: String = "GODKJENNING",
hendelseId: UUID = UUID.randomUUID(),
fĂždselsnummer: String = "11111111111",
venterPĂ„Hvorfor: String = "TESTOLINI",
venterPĂ„Hvorfor: String? = "TESTOLINI",
ventetSiden: LocalDateTime = LocalDateTime.parse("2023-03-04T21:34:17.96322")
) = """
{
Expand All @@ -66,7 +66,7 @@ internal abstract class AbstractVedtaksperiodeVentetilstandTest(
"organisasjonsnummer": "987654321",
"venteÄrsak": {
"hva": "$venterPĂ„",
"hvorfor": "$venterPĂ„Hvorfor"
"hvorfor": ${venterPĂ„Hvorfor?.let { "\"$it\"" }}
}
},
"@id": "$hendelseId",
Expand Down
28 changes: 26 additions & 2 deletions src/test/kotlin/no/nav/helse/VedtaksperiodeVentetilstandTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -144,14 +144,38 @@ internal class VedtaksperiodeVentetilstandTest : AbstractVedtaksperiodeVentetils
}

@Test
fun `ingen alarm nÄr vi er stuck pga inntektsmelding - vi fÄr ikke gjort noe med dem uansett`() {
fun `ingen alarm nÄr vi er stuck pga inntektsmelding UTEN hvorfor satt - vi fÄr ikke gjort noe med dem uansett`() {
assertEquals(emptyList<VedtaksperiodeVenter>(), stuck())
val vedtaksperiodeId = UUID.randomUUID()
val vedtaksperiodeVenter = vedtaksperiodeVenter(vedtaksperiodeId, UUID.randomUUID(), "INNTEKTSMELDING", UUID.randomUUID())
val vedtaksperiodeVenter = vedtaksperiodeVenter(vedtaksperiodeId, UUID.randomUUID(), "INNTEKTSMELDING", UUID.randomUUID(), venterPĂ„Hvorfor = null)
river.sendTestMessage(vedtaksperiodeVenter)
assertEquals(emptyList<VedtaksperiodeVenter>(), stuck())
}

@Test
fun `alarm nÄr vi er stuck pga inntektsmelding MED hvorfor satt`() {
assertEquals(emptyList<VedtaksperiodeVenter>(), stuck())
val vedtaksperiodeId = UUID.randomUUID()
val vedtaksperiodeVenter = vedtaksperiodeVenter(vedtaksperiodeId, UUID.randomUUID(), "INNTEKTSMELDING", UUID.randomUUID(), venterPĂ„Hvorfor = "noe")
river.sendTestMessage(vedtaksperiodeVenter)
val stuck = stuck().single()
assertEquals(vedtaksperiodeId, stuck.vedtaksperiodeId)
assertEquals("INNTEKTSMELDING", stuck.venterPĂ„.hva)
assertEquals("noe", stuck.venterPĂ„.hvorfor)
}

@Test
fun `alarm nÄr hvorfor er satt til noe som helst utenom overstyring igangsatt`() {
assertEquals(emptyList<VedtaksperiodeVenter>(), stuck())
val vedtaksperiodeId = UUID.randomUUID()
val vedtaksperiodeVenter = vedtaksperiodeVenter(vedtaksperiodeId, UUID.randomUUID(), "tja", UUID.randomUUID(), venterPĂ„Hvorfor = "tjo")
river.sendTestMessage(vedtaksperiodeVenter)
val stuck = stuck().single()
assertEquals(vedtaksperiodeId, stuck.vedtaksperiodeId)
assertEquals("tja", stuck.venterPĂ„.hva)
assertEquals("tjo", stuck.venterPĂ„.hvorfor)
}

@Test
fun `Ignorer meldinger med lik informasjon`() {
val vedtaksperiodeId = UUID.randomUUID()
Expand Down

0 comments on commit 0581233

Please sign in to comment.