From 6022decbc74325065e5d44a5cabf7c3726e8d47c Mon Sep 17 00:00:00 2001 From: Ramin Esfandiari Date: Thu, 19 Sep 2024 12:44:12 +0200 Subject: [PATCH] =?UTF-8?q?St=C3=B8tter=20journalf=C3=B8ring=20av=20s?= =?UTF-8?q?=C3=B8knad=20om=20ungdomsytelse.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit De nye endepunktene er togglet av i prod. Se prod-gcp.json. Diverse refaktoreringer: - Flytter urlPath på endepunktene inn i enum Søknadstype. - Erstatter manuelle tester med ParameterizedTest og MethodSource for å automatiske teste hver Søknadstype. --- build.gradle.kts | 2 + nais/prod-gcp.json | 4 +- .../journalforing/api/JournalforingApis.kt | 44 ++-- .../helse/journalforing/v1/JournalpostInfo.kt | 13 + .../nav/helse/journalforing/v1/MetadataV1.kt | 45 ++-- .../nav/helse/DokarkivResponseTransformer.kt | 2 + src/test/kotlin/no/nav/helse/K9JoarkTest.kt | 232 ++++-------------- .../no/nav/helse/S\303\270knadstypeTest.kt" | 2 + .../journalforing/v1/BrevkodeTittelOgTema.kt | 19 +- .../journalforing/v1/JournalpostinfoTest.kt | 4 +- 10 files changed, 140 insertions(+), 227 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 27a32dd..e4d7e78 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,6 +9,7 @@ val jsonassertVersion = "1.5.3" val fuelVersion = "2.3.1" val tokenSupportVersion = "5.0.3" val mockOauth2ServerVersion = "2.1.9" +val junitVersion = "5.9.3" val mainClass = "no.nav.helse.K9JoarkKt" @@ -49,6 +50,7 @@ dependencies { exclude(group = "org.jetbrains.kotlinx", module = "kotlinx-coroutines-core") } testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") + testImplementation("org.junit.jupiter:junit-jupiter-params:$junitVersion") testImplementation("org.skyscreamer:jsonassert:$jsonassertVersion") testImplementation("no.nav.security:mock-oauth2-server:$mockOauth2ServerVersion") } diff --git a/nais/prod-gcp.json b/nais/prod-gcp.json index 3266db6..303d2fc 100644 --- a/nais/prod-gcp.json +++ b/nais/prod-gcp.json @@ -19,7 +19,9 @@ "ENABLE_OMSORGSPENGESKNAD_UTBETALING_FRILANSER_SELVSTENDIG": "true", "ENABLE_OMSORGSPENGESKNAD_UTBETALING_ARBEIDSTAKER": "true", "ENABLE_OMSORGSPENGESKNAD_MIDLERTIDIG_ALENE": "true", - "ENABLE_OPPLRINGSPENGESKNAD": "false" + "ENABLE_OPPLRINGSPENGESKNAD": "false", + "ENABLE_UNGDOMSYTELSE_SØKNAD": "false", + "ENABLE_UNGDOMSYTELSE_ENDRINGSSØKNAD": "false" }, "slack-channel": "sif-alerts", "slack-notify-type": " | k9-joark | ", diff --git a/src/main/kotlin/no/nav/helse/journalforing/api/JournalforingApis.kt b/src/main/kotlin/no/nav/helse/journalforing/api/JournalforingApis.kt index 118dbeb..1bfec3b 100644 --- a/src/main/kotlin/no/nav/helse/journalforing/api/JournalforingApis.kt +++ b/src/main/kotlin/no/nav/helse/journalforing/api/JournalforingApis.kt @@ -38,44 +38,44 @@ fun Route.journalforingApis(journalforingV1Service: JournalforingV1Service) { } } - post("/v1/pleiepenge/journalforing") { + post(PLEIEPENGESØKNAD.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(PLEIEPENGESØKNAD) journalfør(melding, metadata) } - post("/v1/pleiepenge/endringsmelding/journalforing") { + post(PLEIEPENGESØKNAD_ENDRINGSMELDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(PLEIEPENGESØKNAD_ENDRINGSMELDING) journalfør(melding, metadata) } - post("/v1/pleiepenge/ettersending/journalforing") { + post(PLEIEPENGESØKNAD_ETTERSENDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(PLEIEPENGESØKNAD_ETTERSENDING) journalfør(melding, metadata) } - post("/v1/pleiepenge/livets-sluttfase/journalforing") { + post(PLEIEPENGESØKNAD_LIVETS_SLUTTFASE.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(PLEIEPENGESØKNAD_LIVETS_SLUTTFASE) journalfør(melding, metadata) } - post("/v1/pleiepenge/livets-sluttfase/ettersending/journalforing") { + post(PLEIEPENGESØKNAD_LIVETS_SLUTTFASE_ETTERSENDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(PLEIEPENGESØKNAD_LIVETS_SLUTTFASE_ETTERSENDING) journalfør(melding, metadata) } - post("/v1/omsorgspenge/journalforing") { + post(OMSORGSPENGESØKNAD.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGESØKNAD) journalfør(melding, metadata) } - post("/v1/omsorgspenge/ettersending/journalforing") { + post(OMSORGSPENGESØKNAD_ETTERSENDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGESØKNAD_ETTERSENDING) journalfør(melding, metadata) @@ -113,59 +113,71 @@ fun Route.journalforingApis(journalforingV1Service: JournalforingV1Service) { } } - post("/v1/omsorgsdageroverforing/journalforing") { + post(OMSORGSPENGESØKNAD_OVERFØRING_AV_DAGER.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGESØKNAD_OVERFØRING_AV_DAGER) journalfør(melding, metadata) } - post("/v1/omsorgsdagerdeling/journalforing") { + post(OMSORGSPENGEMELDING_DELING_AV_DAGER.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGEMELDING_DELING_AV_DAGER) journalfør(melding, metadata) } - post("/v1/omsorgsdagerdeling/ettersending/journalforing") { + post(OMSORGSPENGEMELDING_DELING_AV_DAGER_ETTERSENDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGEMELDING_DELING_AV_DAGER_ETTERSENDING) journalfør(melding, metadata) } - post("/v1/opplæringspenge/journalforing") { + post(OPPLÆRINGSPENGESØKNAD.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OPPLÆRINGSPENGESØKNAD) journalfør(melding, metadata) } - post("/v1/frisinn/journalforing") { + post(FRISINNSØKNAD.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(FRISINNSØKNAD) journalfør(melding, metadata) } - post("/v1/omsorgspenger/midlertidig-alene/journalforing") { + post(OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE) journalfør(melding, metadata) } - post("/v1/omsorgspenger/midlertidig-alene/ettersending/journalforing") { + post(OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE_ETTERSENDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE_ETTERSENDING) journalfør(melding, metadata) } - post("/v1/omsorgsdager/aleneomsorg/journalforing") { + post(OMSORGSDAGER_ALENEOMSORG.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSDAGER_ALENEOMSORG) journalfør(melding, metadata) } - post("/v1/omsorgsdager/aleneomsorg/ettersending/journalforing") { + post(OMSORGSDAGER_ALENEOMSORG_ETTERSENDING.urlPath) { val melding = call.receive() val metadata = call.genererMetadata(OMSORGSDAGER_ALENEOMSORG_ETTERSENDING) journalfør(melding, metadata) } + + post(UNGDOMSYTELSE_SØKNAD.urlPath) { + val melding = call.receive() + val metadata = call.genererMetadata(UNGDOMSYTELSE_SØKNAD) + journalfør(melding, metadata) + } + + post(UNGDOMSYTELSE_ENDRINGSSØKNAD.urlPath) { + val melding = call.receive() + val metadata = call.genererMetadata(UNGDOMSYTELSE_ENDRINGSSØKNAD) + journalfør(melding, metadata) + } } private fun ApplicationCall.genererMetadata(søknadstype: Søknadstype, version: Int = 1) = MetadataV1( diff --git a/src/main/kotlin/no/nav/helse/journalforing/v1/JournalpostInfo.kt b/src/main/kotlin/no/nav/helse/journalforing/v1/JournalpostInfo.kt index 4ad620f..348a19e 100644 --- a/src/main/kotlin/no/nav/helse/journalforing/v1/JournalpostInfo.kt +++ b/src/main/kotlin/no/nav/helse/journalforing/v1/JournalpostInfo.kt @@ -31,6 +31,7 @@ internal data class Journalpostinfo( internal companion object { private val Kapittel9Ytelse = Tema("OMS") private val FrilansereOgSelvstendigNæringdrivendesInntektskompensasjon = Tema("FRI") + private val Ungdomsytelse = Tema("UNG") private val journalpostinfo = mapOf( Søknadstype.PLEIEPENGESØKNAD to Journalpostinfo( @@ -152,6 +153,18 @@ internal data class Journalpostinfo( tittel = "Søknad om inntektskompensasjon for frilansere og selvstendig næringdrivende - NAV 00-03.02", tema = FrilansereOgSelvstendigNæringdrivendesInntektskompensasjon, innsendingstype = Innsendingstype.SØKNAD + ), + Søknadstype.UNGDOMSYTELSE_SØKNAD to Journalpostinfo( + brevkode = BrevKode(brevKode = "UNG Søknad", dokumentKategori = "SOK"), + tittel = "Søknad om ungdomsytelse - UNG Søknad", + tema = Ungdomsytelse, + innsendingstype = Innsendingstype.SØKNAD + ), + Søknadstype.UNGDOMSYTELSE_ENDRINGSSØKNAD to Journalpostinfo( + brevkode = BrevKode(brevKode = "UNG Endringssøknad", dokumentKategori = "SOK"), + tittel = "Endringssøknad for ungdomsytelsen - UNG Endringssøknad", + tema = Ungdomsytelse, + innsendingstype = Innsendingstype.SØKNAD ) ) internal fun Søknadstype.somJournalpostinfo() = journalpostinfo[this] diff --git a/src/main/kotlin/no/nav/helse/journalforing/v1/MetadataV1.kt b/src/main/kotlin/no/nav/helse/journalforing/v1/MetadataV1.kt index ed842ff..cd99eba 100644 --- a/src/main/kotlin/no/nav/helse/journalforing/v1/MetadataV1.kt +++ b/src/main/kotlin/no/nav/helse/journalforing/v1/MetadataV1.kt @@ -7,27 +7,30 @@ data class MetadataV1( val søknadstype : Søknadstype ) -enum class Søknadstype { - PLEIEPENGESØKNAD, - PLEIEPENGESØKNAD_ENDRINGSMELDING, - PLEIEPENGESØKNAD_ETTERSENDING, - PLEIEPENGESØKNAD_LIVETS_SLUTTFASE, - PLEIEPENGESØKNAD_LIVETS_SLUTTFASE_ETTERSENDING, - OMSORGSPENGESØKNAD, - OMSORGSPENGESØKNAD_ETTERSENDING, - OMSORGSPENGESØKNAD_UTBETALING_FRILANSER_SELVSTENDIG, - OMSORGSPENGESØKNAD_UTBETALING_FRILANSER_SELVSTENDIG_ETTERSENDING, - OMSORGSPENGESØKNAD_UTBETALING_ARBEIDSTAKER_ETTERSENDING, - OMSORGSPENGESØKNAD_UTBETALING_ARBEIDSTAKER, - OMSORGSPENGESØKNAD_OVERFØRING_AV_DAGER, - OMSORGSPENGEMELDING_DELING_AV_DAGER, - OMSORGSPENGEMELDING_DELING_AV_DAGER_ETTERSENDING, - OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE, - OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE_ETTERSENDING, - OMSORGSDAGER_ALENEOMSORG, - OMSORGSDAGER_ALENEOMSORG_ETTERSENDING, - OPPLÆRINGSPENGESØKNAD, - FRISINNSØKNAD; +enum class Søknadstype(val urlPath: String) { + PLEIEPENGESØKNAD("/v1/pleiepenge/journalforing"), + PLEIEPENGESØKNAD_ENDRINGSMELDING("/v1/pleiepenge/endringsmelding/journalforing"), + PLEIEPENGESØKNAD_ETTERSENDING("/v1/pleiepenge/ettersending/journalforing"), + PLEIEPENGESØKNAD_LIVETS_SLUTTFASE("/v1/pleiepenge/livets-sluttfase/journalforing"), + PLEIEPENGESØKNAD_LIVETS_SLUTTFASE_ETTERSENDING("/v1/pleiepenge/livets-sluttfase/ettersending/journalforing"), + OMSORGSPENGESØKNAD("/v1/omsorgspenge/journalforing"), + OMSORGSPENGESØKNAD_ETTERSENDING("/v1/omsorgspenge/ettersending/journalforing"), + OMSORGSPENGESØKNAD_UTBETALING_FRILANSER_SELVSTENDIG("/v1/omsorgspengeutbetaling/journalforing"), + OMSORGSPENGESØKNAD_UTBETALING_FRILANSER_SELVSTENDIG_ETTERSENDING("/v1/omsorgspengeutbetaling/ettersending/journalforing"), + OMSORGSPENGESØKNAD_UTBETALING_ARBEIDSTAKER("/v1/omsorgspengeutbetaling/journalforing"), + OMSORGSPENGESØKNAD_UTBETALING_ARBEIDSTAKER_ETTERSENDING("/v1/omsorgspengeutbetaling/ettersending/journalforing"), + OMSORGSPENGESØKNAD_OVERFØRING_AV_DAGER("/v1/omsorgsdageroverforing/journalforing"), + OMSORGSPENGEMELDING_DELING_AV_DAGER("/v1/omsorgsdagerdeling/journalforing"), + OMSORGSPENGEMELDING_DELING_AV_DAGER_ETTERSENDING("/v1/omsorgsdagerdeling/ettersending/journalforing"), + OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE("/v1/omsorgspenger/midlertidig-alene/journalforing"), + OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE_ETTERSENDING("/v1/omsorgspenger/midlertidig-alene/ettersending/journalforing"), + OMSORGSDAGER_ALENEOMSORG("/v1/omsorgsdager/aleneomsorg/journalforing"), + OMSORGSDAGER_ALENEOMSORG_ETTERSENDING("/v1/omsorgsdager/aleneomsorg/ettersending/journalforing"), + OPPLÆRINGSPENGESØKNAD("/v1/opplæringspenge/journalforing"), + FRISINNSØKNAD("/v1/frisinn/journalforing"), + UNGDOMSYTELSE_SØKNAD("/v1/ungdomsytelse/soknad/journalforing"), + UNGDOMSYTELSE_ENDRINGSSØKNAD("/v1/ungdomsytelse/endringssoknad/journalforing") + ; internal companion object { private val norskeBokstaver = "[ÆØÅ]".toRegex() diff --git a/src/test/kotlin/no/nav/helse/DokarkivResponseTransformer.kt b/src/test/kotlin/no/nav/helse/DokarkivResponseTransformer.kt index bf8278f..2364e90 100644 --- a/src/test/kotlin/no/nav/helse/DokarkivResponseTransformer.kt +++ b/src/test/kotlin/no/nav/helse/DokarkivResponseTransformer.kt @@ -33,6 +33,8 @@ internal class DokarkivResponseTransformer : ResponseTransformerV2 { requestEntity.contains("NAV 09-12.05") && "OMS" == tema -> "16" requestEntity.contains("NAVe 09-12.05") && "OMS" == tema -> "17" requestEntity.contains("NAVe 09-06.10") && "OMS" == tema -> "18" + requestEntity.contains("UNG Søknad") && "UNG" == tema -> "19" + requestEntity.contains("UNG Endringssøknad") && "UNG" == tema -> "20" else -> throw IllegalArgumentException("Ikke støttet brevkode.") } diff --git a/src/test/kotlin/no/nav/helse/K9JoarkTest.kt b/src/test/kotlin/no/nav/helse/K9JoarkTest.kt index dabe518..7231369 100644 --- a/src/test/kotlin/no/nav/helse/K9JoarkTest.kt +++ b/src/test/kotlin/no/nav/helse/K9JoarkTest.kt @@ -9,9 +9,12 @@ import io.ktor.server.testing.* import no.nav.helse.dusseldorf.testsupport.wiremock.WireMockBuilder import no.nav.helse.journalforing.v1.MeldingV1 import no.nav.helse.journalforing.v1.Navn +import no.nav.helse.journalforing.v1.Søknadstype import no.nav.security.mock.oauth2.MockOAuth2Server import org.junit.jupiter.api.AfterAll import org.junit.jupiter.api.BeforeAll +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.MethodSource import org.skyscreamer.jsonassert.JSONAssert import org.slf4j.Logger import org.slf4j.LoggerFactory @@ -21,7 +24,7 @@ import kotlin.test.assertEquals class K9JoarkTest { - private companion object { + companion object { private val logger: Logger = LoggerFactory.getLogger(K9JoarkTest::class.java) private val mockOAuth2Server = MockOAuth2Server().apply { start() } private val wireMockServer: WireMockServer = WireMockBuilder() @@ -74,6 +77,44 @@ class K9JoarkTest { mockOAuth2Server.shutdown() logger.info("Tear down complete") } + + @JvmStatic + fun søknaderForJournalføring(): List { + return Søknadstype.entries.map { + // Id må matche med no/nav/helse/DokarkivResponseTransformer.kt:17 + val (urlPath, forventetJournalpostId) = when (it) { + Søknadstype.PLEIEPENGESØKNAD -> it.urlPath to "1" + Søknadstype.PLEIEPENGESØKNAD_ENDRINGSMELDING -> it.urlPath to "1" + Søknadstype.OMSORGSPENGESØKNAD -> it.urlPath to "2" + Søknadstype.OMSORGSPENGESØKNAD_UTBETALING_FRILANSER_SELVSTENDIG -> it.urlPath + "?arbeidstype=frilanser&arbeidstype=selvstendig-naeringsdrivende" to "3" + Søknadstype.OMSORGSPENGESØKNAD_UTBETALING_ARBEIDSTAKER -> it.urlPath + "?arbeidstype=arbeidstaker" to "4" + Søknadstype.OMSORGSPENGESØKNAD_OVERFØRING_AV_DAGER -> it.urlPath to "5" + Søknadstype.OMSORGSPENGEMELDING_DELING_AV_DAGER -> it.urlPath to "5" + Søknadstype.OPPLÆRINGSPENGESØKNAD -> it.urlPath to "6" + Søknadstype.FRISINNSØKNAD -> it.urlPath to "7" + Søknadstype.OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE -> it.urlPath to "8" + Søknadstype.PLEIEPENGESØKNAD_ETTERSENDING -> it.urlPath to "9" + Søknadstype.OMSORGSPENGESØKNAD_ETTERSENDING -> it.urlPath to "10" + Søknadstype.OMSORGSPENGESØKNAD_UTBETALING_FRILANSER_SELVSTENDIG_ETTERSENDING -> it.urlPath + "?arbeidstype=frilanser&arbeidstype=selvstendig-naeringsdrivende" to "11" + Søknadstype.OMSORGSPENGESØKNAD_UTBETALING_ARBEIDSTAKER_ETTERSENDING -> it.urlPath + "?arbeidstype=arbeidstaker" to "12" + Søknadstype.OMSORGSPENGESØKNAD_MIDLERTIDIG_ALENE_ETTERSENDING -> it.urlPath to "13" + Søknadstype.OMSORGSPENGEMELDING_DELING_AV_DAGER_ETTERSENDING -> it.urlPath to "14" + Søknadstype.OMSORGSDAGER_ALENEOMSORG -> it.urlPath to "15" + Søknadstype.PLEIEPENGESØKNAD_LIVETS_SLUTTFASE -> it.urlPath to "16" + Søknadstype.PLEIEPENGESØKNAD_LIVETS_SLUTTFASE_ETTERSENDING -> it.urlPath to "17" + Søknadstype.OMSORGSDAGER_ALENEOMSORG_ETTERSENDING -> it.urlPath to "18" + Søknadstype.UNGDOMSYTELSE_SØKNAD -> it.urlPath to "19" + Søknadstype.UNGDOMSYTELSE_ENDRINGSSØKNAD -> it.urlPath to "20" + } + + Journalføring(urlPath, forventetJournalpostId) + } + } + + data class Journalføring( + val urlPath: String, + val forventetJournalpostId: String + ) } @Test @@ -94,15 +135,6 @@ class K9JoarkTest { } } - @Test - fun `Journalpost for pleiepengesøknad`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"1"}""".trimIndent(), - expectedCode = HttpStatusCode.Created - ) - } - @Test fun `Journalpost for pleiepengesøknad med 409 conflict skal ikke feile`() { wireMockServer.stubMottaInngaaendeForsendelseOk(409) @@ -114,184 +146,14 @@ class K9JoarkTest { wireMockServer.stubMottaInngaaendeForsendelseOk() } - - @Test - fun `Journalpost for endringsmelding pleiepengesøknad`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"1"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/pleiepenge/endringsmelding/journalforing" - ) - } - - @Test - fun `Journalpost for pleiepenger livets sluttfase`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"16"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/pleiepenge/livets-sluttfase/journalforing" - ) - } - - @Test - fun `Journalpost for pleiepenger livets sluttfase ettersending`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"17"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/pleiepenge/livets-sluttfase/ettersending/journalforing" - ) - } - - @Test - fun `Journalpost for pleiepengesøknad ettersending`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"9"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/pleiepenge/ettersending/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgpengesøknad`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"2"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspenge/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgpengesøknad ettersending`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"10"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspenge/ettersending/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgspengeutbetaling for frilansere og selvstendig næringsdrivende`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"3"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspengeutbetaling/journalforing?arbeidstype=frilanser&arbeidstype=selvstendig-naeringsdrivende" - ) - } - - @Test - fun `Journalpost for omsorgspengeutbetaling ettersending for frilansere og selvstendig næringsdrivende`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"11"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspengeutbetaling/ettersending/journalforing?arbeidstype=frilanser&arbeidstype=selvstendig-naeringsdrivende" - ) - } - - @Test - fun `Journalpost for omsorgpengesøknad for overføring av dager`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"5"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgsdageroverforing/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgspengemelding for deling av dager`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"5"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgsdagerdeling/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgspengemelding ettersending for deling av dager`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"14"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgsdagerdeling/ettersending/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgspengeutbetaling for arbeidstakere`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"4"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspengeutbetaling/journalforing?arbeidstype=arbeidstaker" - ) - } - - @Test - fun `Journalpost for omsorgspengeutbetaling ettersending for arbeidstakere`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"12"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspengeutbetaling/ettersending/journalforing?arbeidstype=arbeidstaker" - ) - } - - @Test - fun `Journalpost for opplæringspengesøknad`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"6"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/opplæringspenge/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgspenger - midlertidig alene`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"8"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspenger/midlertidig-alene/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgspenger ettersending - midlertidig alene`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"13"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgspenger/midlertidig-alene/ettersending/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgsdager aleneomsorg`() { - requestAndAssert( - request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"15"}""".trimIndent(), - expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgsdager/aleneomsorg/journalforing" - ) - } - - @Test - fun `Journalpost for omsorgsdager aleneomsorg ettersending`() { + @ParameterizedTest + @MethodSource("søknaderForJournalføring") + fun `Journalføring fungerer som forventet`(journalføring: Journalføring) { requestAndAssert( request = meldingForJournalføring(), - expectedResponse = """{"journal_post_id":"18"}""".trimIndent(), + expectedResponse = """{"journal_post_id":"${journalføring.forventetJournalpostId}"}""".trimIndent(), expectedCode = HttpStatusCode.Created, - uri = "/v1/omsorgsdager/aleneomsorg/ettersending/journalforing" + uri = journalføring.urlPath ) } diff --git "a/src/test/kotlin/no/nav/helse/S\303\270knadstypeTest.kt" "b/src/test/kotlin/no/nav/helse/S\303\270knadstypeTest.kt" index 1fd6e37..525ac43 100644 --- "a/src/test/kotlin/no/nav/helse/S\303\270knadstypeTest.kt" +++ "b/src/test/kotlin/no/nav/helse/S\303\270knadstypeTest.kt" @@ -48,6 +48,8 @@ internal class SøknadstypeTest { "ENABLE_FRISINNSKNAD" to "false", "ENABLE_OMSORGSDAGER_ALENEOMSORG" to "false", "ENABLE_OMSORGSDAGER_ALENEOMSORG_ETTERSENDING" to "false", + "ENABLE_UNGDOMSYTELSE_SØKNAD" to "false", + "ENABLE_UNGDOMSYTELSE_ENDRINGSSØKNAD" to "false", )) assertTrue(enabled.keys.toSet().containsAll(Søknadstype.entries.toSet())) assertTrue(enabled.values.none { it }) diff --git a/src/test/kotlin/no/nav/helse/journalforing/v1/BrevkodeTittelOgTema.kt b/src/test/kotlin/no/nav/helse/journalforing/v1/BrevkodeTittelOgTema.kt index 99043a9..83f4c6c 100644 --- a/src/test/kotlin/no/nav/helse/journalforing/v1/BrevkodeTittelOgTema.kt +++ b/src/test/kotlin/no/nav/helse/journalforing/v1/BrevkodeTittelOgTema.kt @@ -9,6 +9,7 @@ import no.nav.helse.journalforing.Tema internal object BrevkodeTittelOgTema { private val Kapittel9Ytelse = Tema("OMS") private val FrilansereOgSelvstendigNæringdrivendesInntektskompensasjon = Tema("FRI") + private val Ungomsytelse = Tema("UNG") private val PLEIEPENGER_BARN = Triple( BrevKode(brevKode = "NAV 09-11.05", dokumentKategori = "SOK"), @@ -53,7 +54,7 @@ internal object BrevkodeTittelOgTema { ) private val OMSORGSPENGER_UTBETALING_FRILANSER_OG_SELVSTENDIG_ETTERSENDING = Triple( - BrevKode(brevKode = "NAVe 09-35.01", dokumentKategori = "SOK"), + BrevKode(brevKode = "NAVe 09-35.02", dokumentKategori = "SOK"), "Søknad om utbetaling av omsorgsdager frilanser/selvstendig - NAVe 09-35.01", Kapittel9Ytelse ) @@ -124,7 +125,19 @@ internal object BrevkodeTittelOgTema { FrilansereOgSelvstendigNæringdrivendesInntektskompensasjon ) - internal fun hentFor(søknadstype: Søknadstype) = when (søknadstype) { + private val UNNGOMSYTELSE_SØKNAD = Triple( + BrevKode(brevKode = "UNG Søknad", dokumentKategori = "SOK"), + "Søknad om ungdomsytelse - Ung Søknad", + Ungomsytelse + ) + + private val UNNGOMSYTELSE_ENDRINGSSØKNAD = Triple( + BrevKode(brevKode = "UNG Endringssøknad", dokumentKategori = "SOK"), + "Endringssøknad for ungdomsytelsen - Ung Endringssøknad", + Ungomsytelse + ) + + internal fun hentFor(søknadstype: Søknadstype): Triple = when (søknadstype) { Søknadstype.PLEIEPENGESØKNAD, Søknadstype.PLEIEPENGESØKNAD_ENDRINGSMELDING -> PLEIEPENGER_BARN Søknadstype.PLEIEPENGESØKNAD_ETTERSENDING -> PLEIEPENGER_BARN_ETTERSENDING Søknadstype.PLEIEPENGESØKNAD_LIVETS_SLUTTFASE -> PLEIEPENGER_LIVETS_SLUTTFASE @@ -144,5 +157,7 @@ internal object BrevkodeTittelOgTema { Søknadstype.OMSORGSDAGER_ALENEOMSORG_ETTERSENDING -> OMSORGSDAGER_ALENEOMSORG_ETTERSENDING Søknadstype.OPPLÆRINGSPENGESØKNAD -> OPPLÆRINGSPENGER Søknadstype.FRISINNSØKNAD -> FRISINN + Søknadstype.UNGDOMSYTELSE_SØKNAD -> UNNGOMSYTELSE_SØKNAD + Søknadstype.UNGDOMSYTELSE_ENDRINGSSØKNAD -> UNNGOMSYTELSE_ENDRINGSSØKNAD } } diff --git a/src/test/kotlin/no/nav/helse/journalforing/v1/JournalpostinfoTest.kt b/src/test/kotlin/no/nav/helse/journalforing/v1/JournalpostinfoTest.kt index 52db44c..3b98693 100644 --- a/src/test/kotlin/no/nav/helse/journalforing/v1/JournalpostinfoTest.kt +++ b/src/test/kotlin/no/nav/helse/journalforing/v1/JournalpostinfoTest.kt @@ -8,7 +8,7 @@ internal class JournalpostinfoTest { @Test internal fun `journalpostinfo fra søknadstype`() { - Søknadstype.values().forEach { søknadstype -> + Søknadstype.entries.forEach { søknadstype -> val (brevkode, tittel, tema) = BrevkodeTittelOgTema.hentFor(søknadstype) val journalpostinfo = søknadstype.somJournalpostinfo() // Sjekker at mappingen er som før @@ -17,4 +17,4 @@ internal class JournalpostinfoTest { assertEquals(tema, journalpostinfo.tema) } } -} \ No newline at end of file +}