Skip to content

Commit

Permalink
Nav 23517 validere saksbehandler opp mot enhet (#1587)
Browse files Browse the repository at this point in the history
  • Loading branch information
amiraliw authored Dec 17, 2024
1 parent 2f599de commit b1867bb
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import no.nav.familie.prosessering.TaskStepBeskrivelse
import no.nav.familie.prosessering.domene.Task
import no.nav.familie.tilbake.behandling.BehandlingRepository
import no.nav.familie.tilbake.common.repository.findByIdOrThrow
import no.nav.familie.tilbake.integration.pdl.internal.secureLogger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
import java.util.UUID
Expand Down Expand Up @@ -32,7 +33,12 @@ class OppdaterAnsvarligSaksbehandlerTask(
val prioritet = oppgavePrioritetService.utledOppgaveprioritet(behandlingId, oppgave)

if (oppgave.tilordnetRessurs != behandling.ansvarligSaksbehandler || oppgave.prioritet != prioritet) {
oppgaveService.patchOppgave(oppgave.copy(tilordnetRessurs = behandling.ansvarligSaksbehandler, prioritet = prioritet))
try {
oppgaveService.patchOppgave(oppgave.copy(tilordnetRessurs = behandling.ansvarligSaksbehandler, prioritet = prioritet))
} catch (e: Exception) {
oppgaveService.patchOppgave(oppgave.copy(prioritet = prioritet))
secureLogger.warn("Kunne ikke oppdatere tilordnetRessurs, ${behandling.ansvarligSaksbehandler}")
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import io.mockk.mockk
import io.mockk.verify
import no.nav.familie.kontrakter.felles.oppgave.Oppgave
import no.nav.familie.kontrakter.felles.oppgave.OppgavePrioritet
import no.nav.familie.kontrakter.felles.oppgave.OppgaveResponse
import no.nav.familie.kontrakter.felles.oppgave.Oppgavetype
import no.nav.familie.prosessering.domene.Task
import no.nav.familie.tilbake.behandling.BehandlingRepository
Expand Down Expand Up @@ -56,12 +57,27 @@ internal class OppdaterAnsvarligSaksbehandlerTaskTest {
}
}

@Test
fun `Skal ikke oppdatere oppgave når ingenting er endret`() {
val oppgave = Oppgave(tilordnetRessurs = behandling.ansvarligSaksbehandler, prioritet = OppgavePrioritet.NORM)

every { oppgavePrioritetService.utledOppgaveprioritet(any(), any()) } returns OppgavePrioritet.NORM
every { mockOppgaveService.finnOppgaveForBehandlingUtenOppgaveType(behandling.id) } returns oppgave

oppdaterAnsvarligSaksbehandlerTask.doTask(lagTask())

verify(exactly = 0) { mockOppgaveService.patchOppgave(any()) }
}

@Test
fun `doTask skal oppdatere oppgave når saksbehandler endret`() {
val oppgave = Oppgave(tilordnetRessurs = "TIDLIGERE saksbehandler", prioritet = OppgavePrioritet.NORM)
val oppgave = Oppgave(tilordnetRessurs = "Saksbehandler", prioritet = OppgavePrioritet.NORM)

every { oppgavePrioritetService.utledOppgaveprioritet(any(), any()) } returns OppgavePrioritet.NORM
every { mockOppgaveService.finnOppgaveForBehandlingUtenOppgaveType(behandling.id) } returns oppgave

every { mockOppgaveService.patchOppgave(match { it.tilordnetRessurs == behandling.ansvarligSaksbehandler && it.prioritet == OppgavePrioritet.NORM }) } returns OppgaveResponse(oppgave.id ?: 1)

oppdaterAnsvarligSaksbehandlerTask.doTask(lagTask())

verify(atLeast = 1) {
Expand All @@ -75,15 +91,26 @@ internal class OppdaterAnsvarligSaksbehandlerTaskTest {
}

@Test
fun `Skal ikke oppdatere oppgave når ingenting er endret`() {
fun `Skal kalle patchOppgave med oppdatert prioritet når unntak kastes`() {
val oppgave = Oppgave(tilordnetRessurs = behandling.ansvarligSaksbehandler, prioritet = OppgavePrioritet.NORM)
val oppgaveSomFeiler = Oppgave(prioritet = OppgavePrioritet.NORM)

every { oppgavePrioritetService.utledOppgaveprioritet(any(), any()) } returns OppgavePrioritet.NORM
every { mockOppgaveService.finnOppgaveForBehandlingUtenOppgaveType(behandling.id) } returns oppgave
every { mockOppgaveService.finnOppgaveForBehandlingUtenOppgaveType(behandling.id) } returns oppgaveSomFeiler

every { mockOppgaveService.patchOppgave(match { it.tilordnetRessurs == behandling.ansvarligSaksbehandler && it.prioritet == OppgavePrioritet.NORM }) } throws RuntimeException("Mock exception")
every { mockOppgaveService.patchOppgave(match { it.prioritet == OppgavePrioritet.NORM && it.tilordnetRessurs == null }) } returns OppgaveResponse(oppgave.id ?: 1)

oppdaterAnsvarligSaksbehandlerTask.doTask(lagTask())

verify(exactly = 0) { mockOppgaveService.patchOppgave(any()) }
verify(exactly = 2) { mockOppgaveService.patchOppgave(any()) }
verify {
mockOppgaveService.patchOppgave(
match {
it.prioritet == OppgavePrioritet.NORM
},
)
}
}

private fun lagTask(opprettetAv: String? = null): Task =
Expand Down

0 comments on commit b1867bb

Please sign in to comment.