Skip to content

Commit

Permalink
Lag tester for henting av versjonert søknad
Browse files Browse the repository at this point in the history
  • Loading branch information
GardOS committed Jan 16, 2025
1 parent f43b2fb commit 3179dc7
Showing 1 changed file with 64 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,15 @@ import no.nav.familie.integrasjoner.baks.søknad.lagBarnetrygdSøknad
import no.nav.familie.integrasjoner.baks.søknad.lagKontantstøtteSøknad
import no.nav.familie.integrasjoner.client.rest.SafHentDokumentRestClient
import no.nav.familie.integrasjoner.client.rest.SafRestClient
import no.nav.familie.integrasjoner.journalpost.JournalpostNotFoundException
import no.nav.familie.integrasjoner.journalpost.versjonertsøknad.BaksVersjonertSøknadService
import no.nav.familie.kontrakter.felles.Brevkoder
import no.nav.familie.kontrakter.felles.Tema
import no.nav.familie.kontrakter.felles.journalpost.DokumentInfo
import no.nav.familie.kontrakter.felles.journalpost.Dokumentvariantformat
import no.nav.familie.kontrakter.felles.journalpost.Journalpost
import no.nav.familie.kontrakter.felles.journalpost.Journalposttype
import no.nav.familie.kontrakter.felles.journalpost.Journalstatus
import no.nav.familie.kontrakter.felles.objectMapper
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Nested
Expand Down Expand Up @@ -89,4 +93,64 @@ class BaksVersjonertSøknadServiceTest {
assertThat(exception.message).isEqualTo("Støtter ikke deserialisering av søknad for tema ${Tema.ENF.name}")
}
}

@Nested
inner class HentVersjonertSøknad {
@Test
fun `skal hente journalpost og deserialisere tilknyttet KontantstøtteSøknad når tema er KON`() {
// Arrange
val dokumentInfo = DokumentInfo(dokumentInfoId = "321", brevkode = Brevkoder.KONTANTSTØTTE_SØKNAD)
val journalpost = Journalpost(journalpostId = "123", journalposttype = Journalposttype.I, journalstatus = Journalstatus.FERDIGSTILT, dokumenter = listOf(dokumentInfo))

val søkerFnr = "12345678910"
val barnFnr = "12345678911"
val kontantstøtteSøknad = lagKontantstøtteSøknad(søkerFnr = søkerFnr, barnFnr = barnFnr)

every { safRestClient.hentJournalpost(journalpost.journalpostId) } returns journalpost
every { safHentDokumentRestClient.hentDokument(journalpost.journalpostId, dokumentInfo.dokumentInfoId, Dokumentvariantformat.ORIGINAL.name) } returns objectMapper.writeValueAsBytes(kontantstøtteSøknad)

// Act
val versjonertKontantstøtteSøknad = baksVersjonertSøknadService.hentVersjonertKontantstøtteSøknad(journalpost.journalpostId)

// Assert
assertThat(versjonertKontantstøtteSøknad).isNotNull
assertThat(versjonertKontantstøtteSøknad.kontantstøtteSøknad.personerISøknad()).isEqualTo(listOf(søkerFnr, barnFnr))
}

@Test
fun `skal hente journalpost og deserialisere tilknyttet BarnetrygdSøknad når tema er BAR`() {
// Arrange
val dokumentInfo = DokumentInfo(dokumentInfoId = "321", brevkode = Brevkoder.BARNETRYGD_ORDINÆR_SØKNAD)
val journalpost = Journalpost(journalpostId = "123", journalposttype = Journalposttype.I, journalstatus = Journalstatus.FERDIGSTILT, dokumenter = listOf(dokumentInfo))

val søkerFnr = "12345678910"
val barnFnr = "12345678911"
val barnetrygdSøknad = lagBarnetrygdSøknad(søkerFnr = søkerFnr, barnFnr = barnFnr)

every { safRestClient.hentJournalpost(journalpost.journalpostId) } returns journalpost
every { safHentDokumentRestClient.hentDokument(journalpost.journalpostId, dokumentInfo.dokumentInfoId, Dokumentvariantformat.ORIGINAL.name) } returns objectMapper.writeValueAsBytes(barnetrygdSøknad)

// Act
val versjonertBarnetrygdSøknad = baksVersjonertSøknadService.hentVersjonertBarnetrygdSøknad(journalpost.journalpostId)

// Assert
assertThat(versjonertBarnetrygdSøknad).isNotNull
assertThat(versjonertBarnetrygdSøknad.barnetrygdSøknad.personerISøknad()).isEqualTo(listOf(søkerFnr, barnFnr))
}

@Test
fun `skal kaste JournalpostNotFoundException hvis dokumenter ikke finnes`() {
// Arrange
val journalpost = Journalpost(journalpostId = "123", journalposttype = Journalposttype.I, journalstatus = Journalstatus.FERDIGSTILT, dokumenter = emptyList())

every { safRestClient.hentJournalpost(journalpost.journalpostId) } returns journalpost

// Act & Assert
val exception =
assertThrows<JournalpostNotFoundException> {
baksVersjonertSøknadService.hentVersjonertKontantstøtteSøknad(journalpost.journalpostId)
}
assertThat(exception.message).contains("Fant ikke dokumenter for tema")
}
}
}

0 comments on commit 3179dc7

Please # to comment.