From 67d04c9a00a599f4353340018b61e70d01dc106b Mon Sep 17 00:00:00 2001 From: Viktor Solberg Date: Wed, 19 Feb 2025 09:55:52 +0100 Subject: [PATCH] skal ikke sette enhet dersom vedtaket er uten beslutter --- .../ef/sak/behandling/domain/Behandling.kt | 2 +- .../ef/sak/brev/BrevsignaturService.kt | 13 ++++--- .../familie/ef/sak/brev/dto/SignaturDto.kt | 2 +- .../ef/sak/brev/BrevsignaturServiceTest.kt | 38 +++++++++++-------- .../Frittst\303\245endeBrevServiceTest.kt" | 1 - .../ef/sak/service/VedtaksbrevServiceTest.kt | 16 ++++---- 6 files changed, 40 insertions(+), 32 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/ef/sak/behandling/domain/Behandling.kt b/src/main/kotlin/no/nav/familie/ef/sak/behandling/domain/Behandling.kt index 2b4e97d131..bae175d22b 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/behandling/domain/Behandling.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/behandling/domain/Behandling.kt @@ -77,7 +77,7 @@ enum class BehandlingResultat( enum class BehandlingStatus { OPPRETTET, UTREDES, - FATTER_VEDTAK , + FATTER_VEDTAK, IVERKSETTER_VEDTAK, FERDIGSTILT, SATT_PÅ_VENT, diff --git a/src/main/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturService.kt b/src/main/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturService.kt index 21aa16c48b..9fa40fb17e 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturService.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturService.kt @@ -3,7 +3,6 @@ package no.nav.familie.ef.sak.brev import no.nav.familie.ef.sak.brev.dto.SignaturDto import no.nav.familie.ef.sak.infrastruktur.sikkerhet.SikkerhetContext import no.nav.familie.ef.sak.opplysninger.personopplysninger.PersonopplysningerService -import no.nav.familie.ef.sak.vedtak.VedtakService import no.nav.familie.ef.sak.vedtak.domain.VedtakErUtenBeslutter import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING.STRENGT_FORTROLIG import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING.STRENGT_FORTROLIG_UTLAND @@ -11,11 +10,12 @@ import org.springframework.stereotype.Service @Service class BrevsignaturService( - val personopplysningerService: PersonopplysningerService, - val vedtakService: VedtakService, + private val personopplysningerService: PersonopplysningerService, ) { - - fun lagSaksbehandlerSignatur(personIdent: String, vedtakErUtenBeslutter: VedtakErUtenBeslutter): SignaturDto { + fun lagSaksbehandlerSignatur( + personIdent: String, + vedtakErUtenBeslutter: VedtakErUtenBeslutter, + ): SignaturDto { val harStrengtFortroligAdresse: Boolean = personopplysningerService .hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(personIdent) @@ -38,11 +38,12 @@ class BrevsignaturService( .let { it == STRENGT_FORTROLIG || it == STRENGT_FORTROLIG_UTLAND } val signaturNavn = if (vedtakErUtenBeslutter.value) "" else SikkerhetContext.hentSaksbehandlerNavn(true) + val signaturEnhet = if (vedtakErUtenBeslutter.value) "" else ENHET_NAY return if (harStrengtFortroligAdresse) { SignaturDto(NAV_ANONYM_NAVN, ENHET_VIKAFOSSEN, true) } else { - SignaturDto(signaturNavn, ENHET_NAY, vedtakErUtenBeslutter.value) + SignaturDto(signaturNavn, signaturEnhet, vedtakErUtenBeslutter.value) } } diff --git a/src/main/kotlin/no/nav/familie/ef/sak/brev/dto/SignaturDto.kt b/src/main/kotlin/no/nav/familie/ef/sak/brev/dto/SignaturDto.kt index 957e6cc4e9..b7cf2b964a 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/brev/dto/SignaturDto.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/brev/dto/SignaturDto.kt @@ -4,4 +4,4 @@ data class SignaturDto( val navn: String, val enhet: String, val skjulBeslutter: Boolean, -) \ No newline at end of file +) diff --git a/src/test/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturServiceTest.kt b/src/test/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturServiceTest.kt index fd268496c9..5af7781be7 100644 --- a/src/test/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/ef/sak/brev/BrevsignaturServiceTest.kt @@ -4,16 +4,14 @@ import io.mockk.every import io.mockk.mockk import no.nav.familie.ef.sak.felles.util.BrukerContextUtil import no.nav.familie.ef.sak.opplysninger.personopplysninger.PersonopplysningerService -import no.nav.familie.ef.sak.vedtak.VedtakService import no.nav.familie.ef.sak.vedtak.domain.VedtakErUtenBeslutter import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING import org.assertj.core.api.Assertions import org.junit.jupiter.api.Test internal class BrevsignaturServiceTest { - val personopplysningerService = mockk() - val vedtakService = mockk() - val brevsignaturService = BrevsignaturService(personopplysningerService, vedtakService) + private val personopplysningerService = mockk() + private val brevsignaturService = BrevsignaturService(personopplysningerService) @Test fun `skal sende frittstående brev med NAV Vikafossen signatur dersom person har strengt fortrolig adresse`() { @@ -21,32 +19,35 @@ internal class BrevsignaturServiceTest { val signaturMedEnhet = brevsignaturService.lagSaksbehandlerSignatur("123", VedtakErUtenBeslutter(true)) Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo(BrevsignaturService.ENHET_VIKAFOSSEN) Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(BrevsignaturService.NAV_ANONYM_NAVN) + Assertions.assertThat(signaturMedEnhet.skjulBeslutter).isTrue() } @Test fun `skal sende frittstående brev med vanlig nay signatur når søkeradressebeskyttelse er ugradert`() { - val fortventetSaksbehandlerNavn = "Ole Olsen" - BrukerContextUtil.mockBrukerContext(fortventetSaksbehandlerNavn) + val saksbehandlerNavn = "Ole Olsen" + BrukerContextUtil.mockBrukerContext(saksbehandlerNavn) every { personopplysningerService.hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(any()) } returns ADRESSEBESKYTTELSEGRADERING.UGRADERT val signaturMedEnhet = brevsignaturService.lagSaksbehandlerSignatur("123", VedtakErUtenBeslutter(false)) Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo(BrevsignaturService.ENHET_NAY) - Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(fortventetSaksbehandlerNavn) + Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(saksbehandlerNavn) + Assertions.assertThat(signaturMedEnhet.skjulBeslutter).isFalse() BrukerContextUtil.clearBrukerContext() } @Test fun `skal sende frittstående brev med vanlig nay signatur selv om vedtak er uten beslutter`() { - val fortventetSaksbehandlerNavn = "Ole Olsen" - BrukerContextUtil.mockBrukerContext(fortventetSaksbehandlerNavn) + val saksbehandlerNavn = "Ole Olsen" + BrukerContextUtil.mockBrukerContext(saksbehandlerNavn) every { personopplysningerService.hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(any()) } returns ADRESSEBESKYTTELSEGRADERING.UGRADERT val signaturMedEnhet = brevsignaturService.lagSaksbehandlerSignatur("123", VedtakErUtenBeslutter(true)) Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo(BrevsignaturService.ENHET_NAY) - Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(fortventetSaksbehandlerNavn) + Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(saksbehandlerNavn) + Assertions.assertThat(signaturMedEnhet.skjulBeslutter).isTrue() BrukerContextUtil.clearBrukerContext() } @@ -57,6 +58,7 @@ internal class BrevsignaturServiceTest { val signaturMedEnhet = brevsignaturService.lagBeslutterSignatur("123", VedtakErUtenBeslutter(false)) Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo(BrevsignaturService.ENHET_VIKAFOSSEN) Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(BrevsignaturService.NAV_ANONYM_NAVN) + Assertions.assertThat(signaturMedEnhet.skjulBeslutter).isFalse() } @Test @@ -64,10 +66,13 @@ internal class BrevsignaturServiceTest { val fortventetSaksbehandlerNavn = "Ole Olsen" BrukerContextUtil.mockBrukerContext(fortventetSaksbehandlerNavn) - every { personopplysningerService.hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(any()) } returns ADRESSEBESKYTTELSEGRADERING.STRENGT_FORTROLIG + every { personopplysningerService.hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(any()) } returns ADRESSEBESKYTTELSEGRADERING.UGRADERT val signaturMedEnhet = brevsignaturService.lagBeslutterSignatur("123", VedtakErUtenBeslutter(false)) Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo(BrevsignaturService.ENHET_NAY) Assertions.assertThat(signaturMedEnhet.navn).isEqualTo(fortventetSaksbehandlerNavn) + Assertions.assertThat(signaturMedEnhet.skjulBeslutter).isFalse() + + BrukerContextUtil.clearBrukerContext() } @Test @@ -75,11 +80,12 @@ internal class BrevsignaturServiceTest { val saksbehandlerNavn = "Ole Olsen" BrukerContextUtil.mockBrukerContext(saksbehandlerNavn) - every { personopplysningerService.hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(any()) } returns ADRESSEBESKYTTELSEGRADERING.STRENGT_FORTROLIG - val signaturMedEnhet = brevsignaturService.lagBeslutterSignatur("123", VedtakErUtenBeslutter(false)) - Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo(BrevsignaturService.ENHET_NAY) + every { personopplysningerService.hentStrengesteAdressebeskyttelseForPersonMedRelasjoner(any()) } returns ADRESSEBESKYTTELSEGRADERING.UGRADERT + val signaturMedEnhet = brevsignaturService.lagBeslutterSignatur("123", VedtakErUtenBeslutter(true)) + Assertions.assertThat(signaturMedEnhet.enhet).isEqualTo("") Assertions.assertThat(signaturMedEnhet.navn).isEqualTo("") - } - + Assertions.assertThat(signaturMedEnhet.skjulBeslutter).isTrue() + BrukerContextUtil.clearBrukerContext() + } } diff --git "a/src/test/kotlin/no/nav/familie/ef/sak/brev/Frittst\303\245endeBrevServiceTest.kt" "b/src/test/kotlin/no/nav/familie/ef/sak/brev/Frittst\303\245endeBrevServiceTest.kt" index aa7920b8e1..65dc7a2ce5 100644 --- "a/src/test/kotlin/no/nav/familie/ef/sak/brev/Frittst\303\245endeBrevServiceTest.kt" +++ "b/src/test/kotlin/no/nav/familie/ef/sak/brev/Frittst\303\245endeBrevServiceTest.kt" @@ -12,7 +12,6 @@ import no.nav.familie.ef.sak.brev.domain.MottakerRolle import no.nav.familie.ef.sak.brev.dto.FrittståendeSanitybrevDto import no.nav.familie.ef.sak.brev.dto.SignaturDto import no.nav.familie.ef.sak.fagsak.FagsakService -import no.nav.familie.ef.sak.fagsak.domain.Fagsak import no.nav.familie.ef.sak.felles.util.BrukerContextUtil import no.nav.familie.ef.sak.infrastruktur.exception.ApiFeil import no.nav.familie.ef.sak.iverksett.IverksettClient diff --git a/src/test/kotlin/no/nav/familie/ef/sak/service/VedtaksbrevServiceTest.kt b/src/test/kotlin/no/nav/familie/ef/sak/service/VedtaksbrevServiceTest.kt index 0da54be729..f966a7af81 100644 --- a/src/test/kotlin/no/nav/familie/ef/sak/service/VedtaksbrevServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/ef/sak/service/VedtaksbrevServiceTest.kt @@ -34,7 +34,6 @@ import no.nav.familie.ef.sak.repository.vedtak import no.nav.familie.ef.sak.vedtak.VedtakService import no.nav.familie.ef.sak.vedtak.domain.VedtakErUtenBeslutter import no.nav.familie.kontrakter.felles.objectMapper -import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING.STRENGT_FORTROLIG import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING.UGRADERT import org.assertj.core.api.Assertions.assertThat @@ -52,7 +51,7 @@ internal class VedtaksbrevServiceTest { private val vedtaksbrevRepository = mockk() private val personopplysningerService = mockk() private val vedtakService: VedtakService = mockk() - private val brevsignaturService = mockk() + private val brevsignaturService = BrevsignaturService(personopplysningerService) private val familieDokumentClient = mockk() private val tilordnetRessursService = mockk() private val fagsakService = mockk() @@ -87,7 +86,7 @@ internal class VedtaksbrevServiceTest { } @Test - internal fun `skal ikke sette navn på besluttersignatur dersom vedtak er uten beslutter`() { + internal fun `skal ikke sette navn eller enhet på besluttersignatur dersom vedtak er uten beslutter`() { val vedtaksbrevSlot = slot() val ident = "12345678910" @@ -110,8 +109,8 @@ internal class VedtaksbrevServiceTest { assertThat(vedtaksbrevSlot.captured.saksbehandlersignatur).isNotNull assertThat(vedtaksbrevSlot.captured.beslutterident).isEqualTo(beslutterNavn) - assertThat(vedtaksbrevSlot.captured.besluttersignatur).isEqualTo(beslutterNavn) - assertThat(vedtaksbrevSlot.captured.enhet).isEqualTo(ENHET_NAY) + assertThat(vedtaksbrevSlot.captured.besluttersignatur).isEqualTo("") + assertThat(vedtaksbrevSlot.captured.enhet).isEqualTo("") assertThat(vedtaksbrevSlot.captured.beslutterPdf).isNotNull } @@ -297,7 +296,6 @@ internal class VedtaksbrevServiceTest { val html = "html" every { fagsakService.hentFagsak(any()) } returns fagsak - every { brevsignaturService.lagSaksbehandlerSignatur(any(), any()) } returns SignaturDto("Saksbehandler", ENHET_NAY, false) every { brevClient.genererHtml(any(), any(), any(), any(), any()) } returns html every { vedtaksbrevRepository.existsById(any()) } returns false every { vedtaksbrevRepository.insert(capture(vedtaksbrevSlot)) } returns vedtaksbrev @@ -319,7 +317,6 @@ internal class VedtaksbrevServiceTest { every { fagsakService.hentFagsak(any()) } returns fagsak every { vedtaksbrevRepository.existsById(any()) } returns true every { vedtaksbrevRepository.update(capture(vedtaksbrevSlot)) } answers { firstArg() } - every { brevsignaturService.lagSaksbehandlerSignatur(any(), any()) } returns SignaturDto("Saksbehandler", ENHET_NAY, false) every { brevClient.genererHtml(any(), any(), any(), any(), any()) } returns "html" every { familieDokumentClient.genererPdfFraHtml(any()) } returns "123".toByteArray() every { tilordnetRessursService.tilordnetRessursErInnloggetSaksbehandler(any()) } returns true @@ -332,4 +329,9 @@ internal class VedtaksbrevServiceTest { ) assertThat(vedtaksbrevSlot.captured.opprettetTid).isAfterOrEqualTo(now) } + + private fun signaturDto( + navn: String, + enhet: String? = ENHET_NAY, + ) = SignaturDto(navn, ENHET_NAY, false) }