diff --git a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingService.kt b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingService.kt index 35182485..4ee0719b 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingService.kt @@ -1,7 +1,6 @@ package no.nav.eessi.pensjon.journalforing import com.fasterxml.jackson.databind.exc.MismatchedInputException -import com.google.cloud.storage.BlobId import io.micrometer.core.instrument.Metrics import no.nav.eessi.pensjon.eux.model.BucType import no.nav.eessi.pensjon.eux.model.BucType.* @@ -188,11 +187,18 @@ class JournalforingService( ) if(journalpostRequest.bruker == null){ - vurderBrukerInfo.journalPostUtenBruker( - journalpostRequest, - sedHendelse, - hendelseType) - logger.warn("Journalpost er satt på vent grunnet manglende bruker, rinanr: ${sedHendelse.rinaSakId}") + if(sedHendelse.bucType in listOf(P_BUC_06)) { + journalpostService.sendJournalPost(JournalpostMedSedInfo(journalpostRequest, sedHendelse, hendelseType), "eessipensjon") + logger.warn("Journalpost for ${sedHendelse.sedType}, for buc: ${sedHendelse.bucType} sendes direkte for rinaid: ${sedHendelse.rinaSakId}") + } + else { + vurderBrukerInfo.journalPostUtenBruker( + journalpostRequest, + sedHendelse, + hendelseType + ) + logger.warn("Journalpost er satt på vent grunnet manglende bruker, rinanr: ${sedHendelse.rinaSakId}") + } return@measure } else { @@ -281,7 +287,7 @@ class JournalforingService( } } - fun lagJournalpostOgOppgave(journalpostRequest: LagretJournalpostMedSedInfo, saksbehandlerIdent: String? = null, blobId: BlobId){ + fun lagJournalpostOgOppgave(journalpostRequest: JournalpostMedSedInfo, saksbehandlerIdent: String? = null){ val response = journalpostService.sendJournalPost(journalpostRequest, "eessipensjon") logger.info("""Lagret JP hentet fra GCP: @@ -302,7 +308,7 @@ class JournalforingService( oppgaveType = OppgaveType.JOURNALFORING, ).also { oppgaveMelding -> logger.info("Opprettet journalforingsoppgave for sak med rinaId: ${oppgaveMelding.rinaSakId}") } oppgaveHandler.opprettOppgaveMeldingPaaKafkaTopic(melding) - gcpStorageService.slettJournalpostDetaljer(blobId) + } else { logger.error("Journalpost ikke opprettet") } diff --git a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/OpprettJournalpostModel.kt b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/OpprettJournalpostModel.kt index bb08424f..41a0bef5 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/OpprettJournalpostModel.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/OpprettJournalpostModel.kt @@ -16,7 +16,6 @@ import no.nav.eessi.pensjon.models.Behandlingstema import no.nav.eessi.pensjon.models.Tema import no.nav.eessi.pensjon.oppgaverouting.Enhet import no.nav.eessi.pensjon.oppgaverouting.HendelseType -import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentifisertPerson import no.nav.eessi.pensjon.utils.mapAnyToJson import java.io.IOException import java.time.LocalDateTime @@ -49,7 +48,7 @@ data class OpprettJournalpostRequest( } } -data class LagretJournalpostMedSedInfo( +data class JournalpostMedSedInfo( val journalpostRequest: OpprettJournalpostRequest, val sedHendelse: SedHendelse, val sedHendelseType: HendelseType diff --git a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfo.kt b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfo.kt index be4fe3c9..371fb7c0 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfo.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfo.kt @@ -32,7 +32,7 @@ class VurderBrukerInfo ( sedHendelse: SedHendelse, sedHendelseType: HendelseType ) { - val lagretJournalpost = LagretJournalpostMedSedInfo(journalpostRequest!!, sedHendelse, sedHendelseType) + val lagretJournalpost = JournalpostMedSedInfo(journalpostRequest!!, sedHendelse, sedHendelseType) logger.debug("""Journalposten mangler bruker og vil bli lagret for fremtidig vurdering | ${lagretJournalpost.toJson()} """.trimMargin()) @@ -57,7 +57,7 @@ class VurderBrukerInfo ( logger.info("Henter tidligere journalføring for å sette bruker for sed: $rinaId") gcpStorageService.hentOpprettJournalpostRequest(rinaId)?.let { (journalpost, blob) -> - val lagretJournalPost = mapJsonToAny(journalpost) + val lagretJournalPost = mapJsonToAny(journalpost) val jprUtenBrukerOppdatert = lagretJournalPost.copy( journalpostRequest = updateRequest(lagretJournalPost.journalpostRequest, jprMedBruker) @@ -95,7 +95,7 @@ class VurderBrukerInfo ( } fun opprettOppgave( - jprUtenBrukerOppdatert: LagretJournalpostMedSedInfo, + jprUtenBrukerOppdatert: JournalpostMedSedInfo, opprettetJournalpost: OpprettJournalPostResponse?, identifisertPerson: IdentifisertPerson? ) { diff --git a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/journalpost/JournalpostService.kt b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/journalpost/JournalpostService.kt index 33485893..9b0ec91b 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/journalpost/JournalpostService.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/journalpost/JournalpostService.kt @@ -73,7 +73,7 @@ class JournalpostService(private val journalpostKlient: JournalpostKlient) { return journalpostKlient.opprettJournalpost(journalpostRequest, forsokFerdigstill, saksbehandlerIdent) } - fun sendJournalPost(journalpostRequest: LagretJournalpostMedSedInfo, + fun sendJournalPost(journalpostRequest: JournalpostMedSedInfo, saksbehandlerIdent: String?): OpprettJournalPostResponse? { return sendJournalPost(journalpostRequest.journalpostRequest, journalpostRequest.sedHendelse, journalpostRequest.sedHendelseType, saksbehandlerIdent) } diff --git a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/skedulering/OpprettJournalpostUkjentBruker.kt b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/skedulering/OpprettJournalpostUkjentBruker.kt index 3d42ad96..b71d98da 100644 --- a/src/main/kotlin/no/nav/eessi/pensjon/journalforing/skedulering/OpprettJournalpostUkjentBruker.kt +++ b/src/main/kotlin/no/nav/eessi/pensjon/journalforing/skedulering/OpprettJournalpostUkjentBruker.kt @@ -4,7 +4,7 @@ import no.nav.eessi.pensjon.eux.model.BucType import no.nav.eessi.pensjon.eux.model.SedType import no.nav.eessi.pensjon.gcp.GcpStorageService import no.nav.eessi.pensjon.journalforing.JournalforingService -import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo +import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo import no.nav.eessi.pensjon.utils.mapJsonToAny import no.nav.eessi.pensjon.utils.toJson import org.slf4j.LoggerFactory @@ -24,9 +24,10 @@ class OpprettJournalpostUkjentBruker( logger.info("Daglig sjekk viser ${jp?.size} saker fra GCP som mangler bruker og som nå journalføres") jp?.forEach { journalpostDetaljer -> - mapJsonToAny(journalpostDetaljer.first) + mapJsonToAny(journalpostDetaljer.first) .also { - journalforingService.lagJournalpostOgOppgave(it, "eessipensjon", journalpostDetaljer.second) + journalforingService.lagJournalpostOgOppgave(it, "eessipensjon") + gcpStorageService.slettJournalpostDetaljer(journalpostDetaljer.second).also { logger.info("") } } } } @@ -42,7 +43,7 @@ class OpprettJournalpostUkjentBruker( } jp?.forEach { journalpostDetaljer -> - val lagretJournalpostMedSedInfo = mapJsonToAny(journalpostDetaljer.first) + val lagretJournalpostMedSedInfo = mapJsonToAny(journalpostDetaljer.first) lagretJournalpostMedSedInfo.sedHendelse.sedType?.let { sedTypeCounts[it] = sedTypeCounts[it]!! + 1 diff --git a/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageServiceTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageServiceTest.kt index a65a237c..b900a0f4 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageServiceTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageServiceTest.kt @@ -21,7 +21,7 @@ open class GcpStorageServiceTest { private lateinit var gcpStorageService: GcpStorageService private val storage: Storage = mockk(relaxed = true) - lateinit var lagretJournalPost: LagretJournalpostMedSedInfo + lateinit var lagretJournalPost: JournalpostMedSedInfo lateinit var sedMedBruker: SedHendelse lateinit var sedUtenBruker: SedHendelse @@ -34,7 +34,7 @@ open class GcpStorageServiceTest { rinaSakId = sedMedBruker.rinaSakId ) val lagretJournalpostRquest = opprettJournalpostRequest(bruker = null, enhet = Enhet.ID_OG_FORDELING, tema = Tema.UFORETRYGD, ) - lagretJournalPost = LagretJournalpostMedSedInfo(lagretJournalpostRquest, sedUtenBruker, HendelseType.SENDT) + lagretJournalPost = JournalpostMedSedInfo(lagretJournalpostRquest, sedUtenBruker, HendelseType.SENDT) gcpStorageService = GcpStorageService("gjennyB", "journalB", storage) every { storage.get(BlobId.of("journalB", sedUtenBruker.rinaSakId)) } returns mockk { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageTestHelper.kt b/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageTestHelper.kt index 1763f44c..3b537f98 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageTestHelper.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/gcp/GcpStorageTestHelper.kt @@ -7,7 +7,7 @@ import com.google.cloud.storage.Storage import io.mockk.every import io.mockk.mockk import no.nav.eessi.pensjon.eux.model.SedHendelse -import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo +import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo import no.nav.eessi.pensjon.utils.toJson import java.time.OffsetDateTime @@ -16,7 +16,7 @@ class GcpStorageTestHelper { companion object { fun simulerGcpStorage( sedHendelse: SedHendelse, - lagretJournalPost: List>, + lagretJournalPost: List>, gcpStorage: Storage ) { val blob = createMockBlob(sedHendelse, lagretJournalPost) @@ -27,7 +27,7 @@ class GcpStorageTestHelper { private fun createMockBlob( sedHendelse: SedHendelse, - lagretJournalPost: List> + lagretJournalPost: List> ): Blob { return mockk().apply { every { name } returns sedHendelse.rinaSakId @@ -37,7 +37,7 @@ class GcpStorageTestHelper { } } - private fun createMockPage(blob: Blob, sedHendelse: SedHendelse, lagretJournalPost: LagretJournalpostMedSedInfo): Page { + private fun createMockPage(blob: Blob, sedHendelse: SedHendelse, lagretJournalPost: JournalpostMedSedInfo): Page { return mockk>().apply { every { iterateAll() } returns mutableListOf(blob) every { values } returns mockk>().apply { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/IntegrasjonsBase.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/IntegrasjonsBase.kt index 1025dca1..1bead881 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/IntegrasjonsBase.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/IntegrasjonsBase.kt @@ -9,7 +9,7 @@ import io.mockk.slot import no.nav.eessi.pensjon.eux.model.SedHendelse import no.nav.eessi.pensjon.eux.model.buc.DocumentsItem import no.nav.eessi.pensjon.journalforing.JournalforingService -import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo +import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest import no.nav.eessi.pensjon.journalforing.VurderBrukerInfo import no.nav.eessi.pensjon.listeners.SedMottattListener @@ -179,12 +179,11 @@ abstract class IntegrasjonsBase { // del 2: sender manuel generering av JP og oppgave som batch / gcp storage ville gjort if (journalpostRequest.isCaptured && journalpostRequest.captured.bruker == null) { journalforingService.lagJournalpostOgOppgave( - LagretJournalpostMedSedInfo( + JournalpostMedSedInfo( journalpostRequest = journalpostRequest.captured, mapJsonToAny(hendelse), HendelseType.MOTTATT - ), - blobId = mockk() + ) ) } } diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/JournalforingTestBase.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/JournalforingTestBase.kt index 17d9aa35..829f8a68 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/JournalforingTestBase.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/JournalforingTestBase.kt @@ -267,12 +267,11 @@ internal open class JournalforingTestBase { ) { if (journalpostRequest.isCaptured && journalpostRequest.captured.bruker == null) { journalforingService.lagJournalpostOgOppgave( - LagretJournalpostMedSedInfo( + JournalpostMedSedInfo( journalpostRequest = journalpostRequest.captured, mapJsonToAny(hendelse), hendelseType - ), - blobId = mockk() + ) ) } } @@ -293,9 +292,10 @@ internal open class JournalforingTestBase { land: String = "NOR", hendelseType: HendelseType = SENDT, bucType: BucType = P_BUC_01, + sedType: SedType = SedType.P8000, assertBlock: (OpprettJournalpostRequest) -> Unit ) { - val sed = SED.generateSedToClass(createSed(sedType = SedType.P8000, fnr = fnr, eessiSaknr = sakId)) + val sed = SED.generateSedToClass(createSed(sedType = sedType, fnr = fnr, eessiSaknr = sakId)) initCommonMocks(sed, bucType = bucType) every { personService.harAdressebeskyttelse(any()) } returns false diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc01IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc01IntegrationTest.kt index 82d827dd..784c5411 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc01IntegrationTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc01IntegrationTest.kt @@ -1,9 +1,7 @@ package no.nav.eessi.pensjon.integrasjonstest.saksflyt -import com.google.cloud.storage.BlobId import io.mockk.* import no.nav.eessi.pensjon.eux.model.BucType.P_BUC_01 -import no.nav.eessi.pensjon.eux.model.SedHendelse import no.nav.eessi.pensjon.eux.model.SedType.* import no.nav.eessi.pensjon.eux.model.buc.Buc import no.nav.eessi.pensjon.eux.model.buc.SakStatus.LOPENDE @@ -19,7 +17,6 @@ import no.nav.eessi.pensjon.eux.model.sed.P8000 import no.nav.eessi.pensjon.eux.model.sed.SED import no.nav.eessi.pensjon.eux.model.sed.SivilstandItem import no.nav.eessi.pensjon.eux.model.sed.StatsborgerskapItem -import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest import no.nav.eessi.pensjon.journalforing.krav.BehandleHendelseModel import no.nav.eessi.pensjon.journalforing.krav.HendelseKode diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc03IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc03IntegrationTest.kt index c1351418..588bf6ff 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc03IntegrationTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc03IntegrationTest.kt @@ -344,13 +344,12 @@ internal class PBuc03IntegrationTest : JournalforingTestBase() { if (!journalpostResponse.journalpostferdigstilt && oppgaveMeldingList.isEmpty() && journalpostRequest.captured.bruker == null) { journalforingService.lagJournalpostOgOppgave( - LagretJournalpostMedSedInfo( + JournalpostMedSedInfo( journalpostRequest = journalpostRequest.captured, mapJsonToAny(hendelse), hendelseType ), - "", - BlobId.of("", "") + "" ) } val kravMeldingList: List = kravmeldingSlot.map { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc05IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc05IntegrationTest.kt index f61830b0..8b6ef932 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc05IntegrationTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc05IntegrationTest.kt @@ -1,9 +1,7 @@ package no.nav.eessi.pensjon.integrasjonstest.saksflyt -import com.google.cloud.storage.BlobId import io.mockk.* import no.nav.eessi.pensjon.eux.model.BucType.P_BUC_05 -import no.nav.eessi.pensjon.eux.model.SedHendelse import no.nav.eessi.pensjon.eux.model.SedType import no.nav.eessi.pensjon.eux.model.buc.Buc import no.nav.eessi.pensjon.eux.model.buc.SakStatus.* @@ -14,7 +12,6 @@ import no.nav.eessi.pensjon.eux.model.document.SedStatus import no.nav.eessi.pensjon.eux.model.sed.P5000 import no.nav.eessi.pensjon.eux.model.sed.P8000 import no.nav.eessi.pensjon.eux.model.sed.SED -import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest import no.nav.eessi.pensjon.journalforing.opprettoppgave.OppgaveMelding import no.nav.eessi.pensjon.journalforing.opprettoppgave.OppgaveType @@ -34,8 +31,11 @@ import no.nav.eessi.pensjon.personoppslag.pdl.model.NorskIdent import no.nav.eessi.pensjon.shared.person.Fodselsnummer import no.nav.eessi.pensjon.utils.mapJsonToAny import no.nav.eessi.pensjon.utils.toJson -import org.junit.jupiter.api.* +import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test @DisplayName("P_BUC_05 - IntegrationTest") internal class PBuc05IntegrationTest : JournalforingTestBase() { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc06IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc06IntegrationTest.kt new file mode 100644 index 00000000..0993226b --- /dev/null +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc06IntegrationTest.kt @@ -0,0 +1,107 @@ +package no.nav.eessi.pensjon.integrasjonstest.saksflyt + +import no.nav.eessi.pensjon.eux.model.BucType.P_BUC_06 +import no.nav.eessi.pensjon.eux.model.SedType +import no.nav.eessi.pensjon.models.Tema.PENSJON +import no.nav.eessi.pensjon.oppgaverouting.Enhet.* +import no.nav.eessi.pensjon.oppgaverouting.HendelseType.MOTTATT +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Nested +import org.junit.jupiter.api.Test + +@DisplayName("P_BUC_06 - IntegrationTest") +internal class PBuc06IntegrationTest : JournalforingTestBase() { + + /* ============================ UTGÅENDE ============================ */ + @Nested + @DisplayName("Utgående - Scenario 1") + inner class Scenario1Utgaende { + @Test + fun `1 person i SED fnr finnes men ingen bestemsak men vi sjekker behandlingstema og at person er bosatt Norge som gir NFP_UTLAND_AALESUND`() { + testRunner(FNR_OVER_62, saker = emptyList(), sakId = SAK_ID, sedType = SedType.P6000, bucType = P_BUC_06) { + assertEquals(PENSJON, it.tema) + assertEquals(NFP_UTLAND_AALESUND, it.journalfoerendeEnhet) + } + } + + @Test + fun `Person i SED med gyldig fnr uten sakType fra bestemsak der bruker erover 62 bosatt Norge saa rutes oppgaven til 4862 NFP_UTLAND_AALESUND`() { + testRunner(FNR_OVER_62, saker = emptyList(), sakId = SAK_ID, bucType = P_BUC_06, sedType = SedType.P6000) { + assertEquals(NFP_UTLAND_AALESUND, it.journalfoerendeEnhet) + } + } + + @Test + fun `Person i SED med gyldig fnr uten sakType fra bestemsak bruker er under 62 bosatt Norge og en person i sed saa rutes oppgaven til 4476 UFORE_UTLANDSTILSNITT`() { + testRunner(FNR_VOKSEN_UNDER_62, saker = emptyList(), sakId = SAK_ID, bucType = P_BUC_06, sedType = SedType.P6000) { + assertEquals(UFORE_UTLANDSTILSNITT, it.journalfoerendeEnhet) + } + } + + @Test + fun `Person i SED med gyldig fnr uten sakType fra bestemsak bruker er under 62 bosatt Sverige og en person i sed saa rutes oppgaven til 4475 UFORE_UTLAND`() { + testRunner(FNR_VOKSEN_UNDER_62, saker = emptyList(), sakId = SAK_ID, bucType = P_BUC_06, land = "SE", sedType = SedType.P6000) { + assertEquals(UFORE_UTLAND, it.journalfoerendeEnhet) + } + } + + @Test + fun `Person i SED med gyldig fnr uten sakType fra bestemsak bruker er under 62 bosatt Sverige og en person i sed saa rutes oppgaven til 0001 PENSJON_UTLAND`() { + testRunner(FNR_OVER_62, saker = emptyList(), sakId = SAK_ID, bucType = P_BUC_06, land = "SE", sedType = SedType.P6000) { + assertEquals(PENSJON_UTLAND, it.journalfoerendeEnhet) + } + } + + @Test + fun `Person i SED med gyldig fnr uten sakType fra bestemsak bruker er barn bosatt Sverige og en person i sed saa rutes oppgaven til 0001 PENSJON_UTLAND`() { + testRunner(FNR_BARN, saker = emptyList(), sakId = SAK_ID, bucType = P_BUC_06, land = "SE", sedType = SedType.P6000) { + assertEquals(PENSJON_UTLAND, it.journalfoerendeEnhet) + } + } + + @Test + fun `Person i SED med gyldig fnr uten sakType fra bestemsak bruker er barn bosatt Norge og en person i sed saa rutes oppgaven til 0001 PENSJON_UTLAND`() { + testRunner(FNR_BARN, saker = emptyList(), sakId = SAK_ID, bucType = P_BUC_06, sedType = SedType.P6000) { + assertEquals(NFP_UTLAND_AALESUND, it.journalfoerendeEnhet) + } + } + + @Test + fun `1 person i SED, men fnr er feil`() { + testRunner(fnr = "123456789102356878546525468432", sedType = SedType.P6000, bucType = P_BUC_06) { + assertEquals(PENSJON, it.tema) + assertEquals(ID_OG_FORDELING, it.journalfoerendeEnhet) + } + } + + @Test + fun `1 person i SED, men fnr mangler`() { + testRunner(fnr = null, sedType = SedType.P6000, bucType = P_BUC_06) { + assertEquals(PENSJON, it.tema) + assertEquals(ID_OG_FORDELING, it.journalfoerendeEnhet) + } + } + } + + /* ============================ INNGÅENDE ============================ */ + @Nested + @DisplayName("Inngående - Scenario 1") + inner class Scenario1Inngaende { + @Test + fun `Kun én person, mangler FNR`() { + testRunner(fnr = null, hendelseType = MOTTATT, bucType = P_BUC_06) { + assertEquals(PENSJON, it.tema) + assertEquals(ID_OG_FORDELING, it.journalfoerendeEnhet) + } + } + + @Test + fun `Kun én person, ugyldig FNR`() { + testRunner(fnr = "1244091349018340918341029", hendelseType = MOTTATT, bucType = P_BUC_06) { + assertEquals(PENSJON, it.tema) + assertEquals(ID_OG_FORDELING, it.journalfoerendeEnhet) + } + } + } +} diff --git a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc10IntegrationTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc10IntegrationTest.kt index db3d9673..5f8b8086 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc10IntegrationTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/integrasjonstest/saksflyt/PBuc10IntegrationTest.kt @@ -1,6 +1,5 @@ package no.nav.eessi.pensjon.integrasjonstest.saksflyt -import com.google.cloud.storage.BlobId import io.mockk.* import no.nav.eessi.pensjon.eux.model.BucType.P_BUC_10 import no.nav.eessi.pensjon.eux.model.SedHendelse @@ -13,7 +12,7 @@ import no.nav.eessi.pensjon.eux.model.document.ForenkletSED import no.nav.eessi.pensjon.eux.model.document.SedStatus import no.nav.eessi.pensjon.eux.model.sed.* import no.nav.eessi.pensjon.eux.model.sed.KravType.* -import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo +import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest import no.nav.eessi.pensjon.journalforing.opprettoppgave.OppgaveMelding import no.nav.eessi.pensjon.journalforing.opprettoppgave.OppgaveType @@ -937,13 +936,12 @@ internal class PBuc10IntegrationTest : JournalforingTestBase() { if (!meldingSlot.isCaptured && journalpostRequest.captured.bruker == null) { println("""Opprettet manuell journalføring: | ${journalpostRequest.captured.toJson()}""".trimMargin()) journalforingService.lagJournalpostOgOppgave( - LagretJournalpostMedSedInfo( + JournalpostMedSedInfo( journalpostRequest = journalpostRequest.captured, mapJsonToAny(hendelse), hendelseType ), - "", - BlobId.of("", "") + "eessi-pensjon" ) } diff --git a/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedGCPTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedGCPTest.kt index 04ee504e..7c0edf9e 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedGCPTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedGCPTest.kt @@ -135,7 +135,7 @@ class JournalforingServiceMedGCPTest { every { getContent() } returns GjennySak("123", "").toJson().toByteArray() } andThen mockk().apply { every { exists() } returns true - every { getContent() } returns Pair(LagretJournalpostMedSedInfo(mockk(relaxed = true), mockk(relaxed = true), mockk(relaxed = true)), mockk(relaxed = true)).toJson().toByteArray() + every { getContent() } returns Pair(JournalpostMedSedInfo(mockk(relaxed = true), mockk(relaxed = true), mockk(relaxed = true)), mockk(relaxed = true)).toJson().toByteArray() } val blobList = mockk>().apply { every { iterateAll() } returns listOf(mockk("blob").apply { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedJournalpostTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedJournalpostTest.kt index 02839c6e..ac71889a 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedJournalpostTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/journalforing/JournalforingServiceMedJournalpostTest.kt @@ -1,9 +1,6 @@ package no.nav.eessi.pensjon.journalforing -import io.mockk.every -import io.mockk.justRun -import io.mockk.mockk -import io.mockk.slot +import io.mockk.* import no.nav.eessi.pensjon.eux.model.SedHendelse import no.nav.eessi.pensjon.eux.model.SedType import no.nav.eessi.pensjon.eux.model.buc.SakStatus @@ -58,8 +55,6 @@ internal class JournalforingServiceMedJournalpostTest : JournalforingServiceBas val journalpostRequest = requestSlot.captured val erMuligAaFerdigstille = forsoekFedrigstillSlot.captured - println(journalpostRequest) - Assertions.assertEquals("22874955", journalpostRequest.sak?.fagsakid) Assertions.assertEquals(true, erMuligAaFerdigstille) @@ -95,6 +90,29 @@ internal class JournalforingServiceMedJournalpostTest : JournalforingServiceBas Assertions.assertEquals(false, erMuligAaFerdigstille) } + @Test + fun `Sendt P_BUC_06 med manglende bruker skal lage journalpost`() { + val hendelse = javaClass.getResource("/eux/hendelser/P_BUC_06_P6000.json")!!.readText() + val sedHendelse = SedHendelse.fromJson(hendelse) + + val forsoekFerdigstillSlot = slot() + every { journalpostKlient.opprettJournalpost(any(), capture(forsoekFerdigstillSlot), any()) } returns mockk(relaxed = true) + + journalforingService.journalfor( + sedHendelse, + HendelseType.SENDT, + null, + LEALAUS_KAKE.getBirthDate(), + currentSed = SED(type = SedType.P6000), + identifisertePersoner = 1, + navAnsattInfo = navAnsattInfo(), + kravTypeFraSed = null, + ) + val erMuligAaFerdigstille = forsoekFerdigstillSlot.captured + + Assertions.assertEquals(false, erMuligAaFerdigstille) + } + @Test fun `Innkommende P2000 fra utlanded som oppfyller alle krav til maskinell journalføring skal opprette behandle SED oppgave`() { diff --git a/src/test/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfoTest.kt b/src/test/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfoTest.kt index 7d4d7766..c7de031c 100644 --- a/src/test/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfoTest.kt +++ b/src/test/kotlin/no/nav/eessi/pensjon/journalforing/VurderBrukerInfoTest.kt @@ -51,7 +51,7 @@ class VurderBrukerInfoTest { "NOR" ) private val storage: Storage = mockk(relaxed = true) - lateinit var lagretJournalPost: LagretJournalpostMedSedInfo + lateinit var lagretJournalPost: JournalpostMedSedInfo @BeforeEach fun setUp() { @@ -77,7 +77,7 @@ class VurderBrukerInfoTest { MetricsHelper.ForTest() )) - lagretJournalPost = LagretJournalpostMedSedInfo(lagretJournalpostRquest, sedUtenBruker, HendelseType.SENDT) + lagretJournalPost = JournalpostMedSedInfo(lagretJournalpostRquest, sedUtenBruker, HendelseType.SENDT) every { storage.get(BlobId.of("journalB", sedUtenBruker.rinaSakId)) } returns mockk { every { exists() } returns true