Skip to content

Commit

Permalink
Beholde verdier for ytelsestype og behandlingstype (punsj) (#2853)
Browse files Browse the repository at this point in the history
* Behandlingtype og ytelsestype bruker tidligere verdi, eller UKJENT hvis null

* Beholder ytelsestype og behandlingstype i v3, slik som i v1

* Fikser test, setter nå inn defaultverdi
  • Loading branch information
mbolstad authored Jan 8, 2025
1 parent 09907b4 commit 57785ab
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.punsjtillos

import no.nav.k9.kodeverk.behandling.aksjonspunkt.AksjonspunktStatus
import no.nav.k9.los.domene.modell.BehandlingType
import no.nav.k9.los.domene.modell.FagsakYtelseType
import no.nav.k9.los.integrasjon.kafka.dto.PunsjEventDto
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveDto
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveFeltverdiDto
Expand Down Expand Up @@ -63,11 +64,11 @@ class EventTilDtoMapper {
},
OppgaveFeltverdiDto(
nøkkel = "behandlingTypekode",
verdi = (event.type?.let { BehandlingType.fraKode(it) } ?: BehandlingType.UKJENT).kode,
verdi = event.type ?: forrigeOppgave?.hentVerdi("behandlingTypekode") ?: BehandlingType.UKJENT.kode,
),
OppgaveFeltverdiDto(
nøkkel = "ytelsestype",
verdi = event.ytelse,
verdi = event.ytelse ?: forrigeOppgave?.hentVerdi("ytelsestype") ?: FagsakYtelseType.UKJENT.kode,
),
event.ferdigstiltAv?.let {
OppgaveFeltverdiDto(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class K9PunsjEventHandlerTest : AbstractK9LosIntegrationTest() {
}

val felter = oppgaveV3.felter.sortedBy { it.eksternId }
assertThat(felter).hasSize(7)
assertThat(felter).hasSize(8)
assertThat(felter[0].eksternId).isEqualTo("aktorId")
assertThat(felter[0].verdi).isEqualTo(aktørId)
assertThat(felter[1].eksternId).isEqualTo("behandlingTypekode")
Expand All @@ -91,6 +91,8 @@ class K9PunsjEventHandlerTest : AbstractK9LosIntegrationTest() {
assertThat(felter[5].verdi).isEqualTo(eventTid)
assertThat(felter[6].eksternId).isEqualTo("registrertDato")
assertThat(felter[6].verdi).isEqualTo(eventTid)
assertThat(felter[7].eksternId).isEqualTo("ytelsestype")
assertThat(felter[7].verdi).isEqualTo("UKJENT")
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ data class PunsjEventDtoBuilder(
var eventTid: LocalDateTime? = null,
var eventHendelse: EventHendelse = EventHendelse.AKSJONSPUNKT_OPPRETTET,
var ytelse: FagsakYtelseType? = FagsakYtelseType.PLEIEPENGER_SYKT_BARN,
var type: BehandlingType = BehandlingType.PAPIRSØKNAD,
var type: BehandlingType? = BehandlingType.PAPIRSØKNAD,
var aksjonspunkter: MutableMap<String, AksjonspunktStatus> = mutableMapOf(),
var sendtInn: Boolean = true,
var ferdigstiltAv: String? = null,
Expand Down Expand Up @@ -70,7 +70,7 @@ data class PunsjEventDtoBuilder(
aktørId = AktørId(aktørId),
pleietrengendeAktørId = pleietrengendeAktørId,
aksjonspunktKoderMedStatusListe = aksjonspunkter.entries.associate { (aksjonspunkt, status) -> aksjonspunkt to status.kode }.toMutableMap(),
type = type.kode,
type = type?.kode,
ytelse = ytelse?.kode,
sendtInn = sendtInn,
ferdigstiltAv = ferdigstiltAv,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ enum class FeltType(
val tolkesSom: String = "String"
) {
BEHANDLINGUUID("behandlingUuid"),
BEHANDLING_TYPE("behandlingTypekode"),
OPPGAVE_STATUS("oppgavestatus", listetype = true),
FAGSYSTEM("fagsystem"),
AKSJONSPUNKT("aksjonspunkt", true),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.punsjtillos

import assertk.assertThat
import assertk.assertions.any
import assertk.assertions.matchesPredicate
import no.nav.k9.los.AbstractK9LosIntegrationTest
import no.nav.k9.los.aksjonspunktbehandling.PunsjEventDtoBuilder
import no.nav.k9.los.domene.modell.BehandlingType
import no.nav.k9.los.domene.modell.FagsakYtelseType
import no.nav.k9.los.nyoppgavestyring.FeltType
import no.nav.k9.los.nyoppgavestyring.OppgaveTestDataBuilder
import org.junit.jupiter.api.Test

class PunsjEventTilDtoMapperTest : AbstractK9LosIntegrationTest() {
@Test
fun `defaulter til ukjent`() {
val forrigeOppgave = OppgaveTestDataBuilder().lag()
val event = PunsjEventDtoBuilder(ytelse = null, type = null).build()
val oppgaveDto = EventTilDtoMapper.lagOppgaveDto(event, forrigeOppgave)
assertThat(oppgaveDto.feltverdier)
.any { it.matchesPredicate { feltverdi -> feltverdi.nøkkel == "ytelsestype" && feltverdi.verdi == "UKJENT" } }
assertThat(oppgaveDto.feltverdier)
.any { it.matchesPredicate { feltverdi -> feltverdi.nøkkel == "behandlingTypekode" && feltverdi.verdi == "UKJENT" } }
}

@Test
fun `overskriver ukjent når ny event har noe annet`() {
val forrigeOppgave = OppgaveTestDataBuilder()
.medOppgaveFeltVerdi(FeltType.YTELSE_TYPE, "UKJENT")
.medOppgaveFeltVerdi(FeltType.BEHANDLING_TYPE, "UKJENT")
.lag()
val event = PunsjEventDtoBuilder(ytelse = FagsakYtelseType.PLEIEPENGER_SYKT_BARN, type = BehandlingType.PAPIRSØKNAD).build()
val oppgaveDto = EventTilDtoMapper.lagOppgaveDto(event, forrigeOppgave)
assertThat(oppgaveDto.feltverdier)
.any { it.matchesPredicate { feltverdi -> feltverdi.nøkkel == "ytelsestype" && feltverdi.verdi == "PSB" } }
assertThat(oppgaveDto.feltverdier)
.any { it.matchesPredicate { feltverdi -> feltverdi.nøkkel == "behandlingTypekode" && feltverdi.verdi == "PAPIRSØKNAD" } }
}

@Test
fun `overskriver ikke når ny event har null`() {
val forrigeOppgave = OppgaveTestDataBuilder()
.medOppgaveFeltVerdi(FeltType.YTELSE_TYPE, "PSB")
.medOppgaveFeltVerdi(FeltType.BEHANDLING_TYPE, "PAPIRSØKNAD")
.lag()
val event = PunsjEventDtoBuilder(ytelse = null, type = null).build()
val oppgaveDto = EventTilDtoMapper.lagOppgaveDto(event, forrigeOppgave)
assertThat(oppgaveDto.feltverdier)
.any { it.matchesPredicate { feltverdi -> feltverdi.nøkkel == "ytelsestype" && feltverdi.verdi == "PSB" } }
assertThat(oppgaveDto.feltverdier)
.any { it.matchesPredicate { feltverdi -> feltverdi.nøkkel == "behandlingTypekode" && feltverdi.verdi == "PAPIRSØKNAD" } }
}
}

0 comments on commit 57785ab

Please sign in to comment.