Skip to content

Commit

Permalink
Bruk wrappers i forespoersel
Browse files Browse the repository at this point in the history
  • Loading branch information
bjerga committed Dec 16, 2024
1 parent 96b128c commit 11a912a
Show file tree
Hide file tree
Showing 25 changed files with 127 additions and 132 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package no.nav.helsearbeidsgiver.inntektsmelding.aktiveorgnrservice

import com.github.navikt.tbd_libs.rapids_and_rivers_api.RapidsConnection
import kotlinx.serialization.builtins.MapSerializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.json.JsonElement
import no.nav.helsearbeidsgiver.felles.BehovType
Expand All @@ -12,6 +11,7 @@ import no.nav.helsearbeidsgiver.felles.domene.Arbeidsforhold
import no.nav.helsearbeidsgiver.felles.domene.Person
import no.nav.helsearbeidsgiver.felles.domene.ResultJson
import no.nav.helsearbeidsgiver.felles.json.les
import no.nav.helsearbeidsgiver.felles.json.orgMapSerializer
import no.nav.helsearbeidsgiver.felles.json.personMapSerializer
import no.nav.helsearbeidsgiver.felles.json.toJson
import no.nav.helsearbeidsgiver.felles.rapidsrivers.KafkaKey
Expand All @@ -28,6 +28,7 @@ import no.nav.helsearbeidsgiver.utils.json.toJson
import no.nav.helsearbeidsgiver.utils.log.logger
import no.nav.helsearbeidsgiver.utils.log.sikkerLogger
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
import java.util.UUID

data class Steg0(
Expand All @@ -47,7 +48,7 @@ sealed class Steg1 {
}

data class Steg2(
val virksomheter: Map<String, String>,
val virksomheter: Map<Orgnr, String>,
)

class AktiveOrgnrService(
Expand Down Expand Up @@ -89,7 +90,7 @@ class AktiveOrgnrService(

override fun lesSteg2(melding: Map<Key, JsonElement>): Steg2 =
Steg2(
virksomheter = Key.VIRKSOMHETER.les(MapSerializer(String.serializer(), String.serializer()), melding),
virksomheter = Key.VIRKSOMHETER.les(orgMapSerializer, melding),
)

override fun utfoerSteg0(
Expand Down Expand Up @@ -179,7 +180,7 @@ class AktiveOrgnrService(
val gyldigeUnderenheter =
steg2.virksomheter.map {
AktiveArbeidsgivere.Arbeidsgiver(
orgnrUnderenhet = it.key,
orgnrUnderenhet = it.key.verdi,
virksomhetsnavn = it.value,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ private fun HentForespoerselResultat.toResponse(): HentForespoerselResponse {
navn = sykmeldtNavn,
innsenderNavn = avsenderNavn,
orgNavn = orgNavn,
identitetsnummer = forespoersel.fnr,
orgnrUnderenhet = forespoersel.orgnr,
identitetsnummer = forespoersel.fnr.verdi,
orgnrUnderenhet = forespoersel.orgnr.verdi,
fravaersperioder = forespoersel.sykmeldingsperioder,
egenmeldingsperioder = forespoersel.egenmeldingsperioder,
bestemmendeFravaersdag = forespoersel.forslagBestemmendeFravaersdag(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ suspend fun PipelineContext<Unit, ApplicationCall>.hentForespoersler(
}

else -> {
orgnrSet.firstOrNull()?.also { orgnr -> tilgangskontroll.validerTilgangTilOrg(call.request, orgnr) }
orgnrSet.firstOrNull()?.also { orgnr -> tilgangskontroll.validerTilgangTilOrg(call.request, orgnr.verdi) }

val respons =
resultat.map { (id, forespoersel) ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ import no.nav.helsearbeidsgiver.utils.test.date.februar
import no.nav.helsearbeidsgiver.utils.test.date.januar
import no.nav.helsearbeidsgiver.utils.test.date.mars
import no.nav.helsearbeidsgiver.utils.test.json.removeJsonWhitespace
import no.nav.helsearbeidsgiver.utils.test.wrapper.genererGyldig
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertNull
Expand Down Expand Up @@ -148,12 +151,14 @@ class HentForespoerselRouteKtTest : ApiTest() {
}

private object Mock {
private val orgnr = Orgnr.genererGyldig()

val request = HentForespoerselRequest(UUID.randomUUID())

private val forespoersel =
Forespoersel(
orgnr = "123",
fnr = "abc",
orgnr = orgnr,
fnr = Fnr.genererGyldig(),
sykmeldingsperioder =
listOf(
1.april til 20.april,
Expand All @@ -164,7 +169,7 @@ private object Mock {
29.mars til 29.mars,
31.mars til 31.mars,
),
bestemmendeFravaersdager = mapOf("123" to 25.april),
bestemmendeFravaersdager = mapOf(orgnr to 25.april),
forespurtData = mockForespurtData(),
erBesvart = false,
vedtaksperiodeId = UUID.randomUUID(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,16 +294,16 @@ class HentForespoerselIdListeRouteKtTest : ApiTest() {

private object Mock {
val orgnr = Orgnr.genererGyldig()
val vedtaksPeriodeId1 = UUID.randomUUID()
val forespoerselId1 = UUID.randomUUID()
val vedtaksPeriodeId1: UUID = UUID.randomUUID()
val forespoerselId1: UUID = UUID.randomUUID()

val vedtaksPeriodeId2 = UUID.randomUUID()
val forespoerselId2 = UUID.randomUUID()
val vedtaksPeriodeId2: UUID = UUID.randomUUID()
val forespoerselId2: UUID = UUID.randomUUID()

fun mockResultat(): Map<UUID, Forespoersel> =
mapOf(
forespoerselId1 to mockForespoersel().copy(vedtaksperiodeId = vedtaksPeriodeId1, orgnr = orgnr.toString()),
forespoerselId2 to mockForespoersel().copy(vedtaksperiodeId = vedtaksPeriodeId2, orgnr = orgnr.toString()),
forespoerselId1 to mockForespoersel().copy(vedtaksperiodeId = vedtaksPeriodeId1, orgnr = orgnr),
forespoerselId2 to mockForespoersel().copy(vedtaksperiodeId = vedtaksPeriodeId2, orgnr = orgnr),
)

fun mockResultatMedUlikeOrgnr(): Map<UUID, Forespoersel> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ class BerikInntektsmeldingService(
Key.KONTEKST_ID to steg0.transaksjonId.toJson(),
Key.DATA to
data
.plus(Key.ORGNR_UNDERENHETER to setOf(steg1.forespoersel.orgnr).toJson(String.serializer()))
.plus(Key.ORGNR_UNDERENHETER to setOf(steg1.forespoersel.orgnr).toJson(Orgnr.serializer()))
.toJson(),
).also { loggBehovPublisert(BehovType.HENT_VIRKSOMHET_NAVN, it) }
}
Expand All @@ -149,7 +149,7 @@ class BerikInntektsmeldingService(
.plus(
Key.FNR_LISTE to
listOf(
steg1.forespoersel.fnr.let(::Fnr),
steg1.forespoersel.fnr,
steg0.avsenderFnr,
).toJson(Fnr.serializer()),
).toJson(),
Expand All @@ -163,8 +163,8 @@ class BerikInntektsmeldingService(
steg2: Steg2,
steg3: Steg3,
) {
val orgNavn = steg2.orgnrMedNavn[steg1.forespoersel.orgnr.let(::Orgnr)] ?: UKJENT_VIRKSOMHET
val sykmeldtNavn = steg3.personer[steg1.forespoersel.fnr.let(::Fnr)]?.navn ?: UKJENT_NAVN
val orgNavn = steg2.orgnrMedNavn[steg1.forespoersel.orgnr] ?: UKJENT_VIRKSOMHET
val sykmeldtNavn = steg3.personer[steg1.forespoersel.fnr]?.navn ?: UKJENT_NAVN
val avsenderNavn = steg3.personer[steg0.avsenderFnr]?.navn ?: UKJENT_NAVN
val aarsakInnsending = if (steg1.forespoersel.erBesvart) AarsakInnsending.Endring else AarsakInnsending.Ny

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Sykmeldt
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmelding
import no.nav.helsearbeidsgiver.felles.domene.Forespoersel
import no.nav.helsearbeidsgiver.felles.domene.ForslagInntekt
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
import java.time.ZonedDateTime
import java.util.UUID

Expand Down Expand Up @@ -61,12 +59,12 @@ fun mapInntektsmelding(
),
sykmeldt =
Sykmeldt(
fnr = forespoersel.fnr.let(::Fnr),
fnr = forespoersel.fnr,
navn = sykmeldtNavn,
),
avsender =
Avsender(
orgnr = forespoersel.orgnr.let(::Orgnr),
orgnr = forespoersel.orgnr,
orgNavn = virksomhetNavn,
navn = avsenderNavn,
tlf = skjema.avsenderTlf,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,11 @@ private object Mock {

private val sykmeldt =
Person(
fnr = Fnr(forespoersel.fnr),
fnr = forespoersel.fnr,
navn = "Dolly Duck",
)

private val orgnrMedNavn = mapOf(Orgnr(forespoersel.orgnr) to "Lasses kasserollesjappe")
private val orgnrMedNavn = mapOf(forespoersel.orgnr to "Lasses kasserollesjappe")

private val personer =
mapOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ import no.nav.helsearbeidsgiver.felles.test.mock.utenPaakrevdRefusjon
import no.nav.helsearbeidsgiver.utils.test.date.august
import no.nav.helsearbeidsgiver.utils.test.date.desember
import no.nav.helsearbeidsgiver.utils.test.date.juli
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
import java.time.ZonedDateTime
import kotlin.time.Duration.Companion.seconds
import kotlin.time.toJavaDuration
Expand Down Expand Up @@ -57,13 +55,13 @@ class MapInntektsmeldingKtTest :

sykmeldt shouldBe
Sykmeldt(
fnr = forespoersel.fnr.let(::Fnr),
fnr = forespoersel.fnr,
navn = sykmeldtNavn,
)

avsender shouldBe
Avsender(
orgnr = forespoersel.orgnr.let(::Orgnr),
orgnr = forespoersel.orgnr,
orgNavn = virksomhetNavn,
navn = avsenderNavn,
tlf = skjema.avsenderTlf,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,19 @@ import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Periode
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.bestemmendeFravaersdag
import no.nav.helsearbeidsgiver.utils.json.serializer.LocalDateSerializer
import no.nav.helsearbeidsgiver.utils.json.serializer.UuidSerializer
import no.nav.helsearbeidsgiver.utils.wrapper.Fnr
import no.nav.helsearbeidsgiver.utils.wrapper.Orgnr
import java.time.LocalDate
import java.util.UUID

@Serializable
data class Forespoersel(
val orgnr: String,
val fnr: String,
val orgnr: Orgnr,
val fnr: Fnr,
val vedtaksperiodeId: UUID,
val sykmeldingsperioder: List<Periode>,
val egenmeldingsperioder: List<Periode>,
val bestemmendeFravaersdager: Map<String, LocalDate>,
val bestemmendeFravaersdager: Map<Orgnr, LocalDate>,
val forespurtData: ForespurtData,
val erBesvart: Boolean,
val opprettetUpresisIkkeBruk: LocalDate,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ data class ForespoerselFraBro(
) {
fun toForespoersel(): Forespoersel =
Forespoersel(
orgnr = orgnr.verdi,
fnr = fnr.verdi,
orgnr = orgnr,
fnr = fnr,
vedtaksperiodeId = vedtaksperiodeId,
sykmeldingsperioder = sykmeldingsperioder,
egenmeldingsperioder = egenmeldingsperioder,
bestemmendeFravaersdager = bestemmendeFravaersdager.mapKeys { it.key.verdi },
bestemmendeFravaersdager = bestemmendeFravaersdager,
forespurtData = forespurtData,
erBesvart = erBesvart,
opprettetUpresisIkkeBruk = opprettetUpresisIkkeBruk,
Expand Down
Loading

0 comments on commit 11a912a

Please sign in to comment.