From 0c384596f1ec8f4fa28d643e9cc9a90e56b19d28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Oliver=20S=C3=B8berg?= <82504565+sebassonav@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:24:27 +0100 Subject: [PATCH] EY-4669 Fjerne alle checks i appen (#6297) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * EY-4669 Fjerne alle checks i appen * Internfeil på upsert av aks * Hadde snudd logikken her --- .../AktivitetspliktAktivitetsgradDao.kt | 5 ++- .../oppgaveGosys/GosysOppgaveService.kt | 5 ++- .../kotlin/beregning/BeregningRepository.kt | 11 ++--- .../beregning/grunnlag/RegulerOverstyrt.kt | 7 ++-- .../no/nav/etterlatte/brev/BrevService.kt | 5 ++- .../etterlatte/brev/dokarkiv/Journalpost.kt | 3 +- .../brev/model/BrevKodeMapperVedtak.kt | 11 ++++- .../main/kotlin/grunnlag/GrunnlagService.kt | 7 +++- .../features/soeknad/OpprettSoeknad.kt | 3 +- .../avstemming/vedtak/Vedtaksverifiserer.kt | 40 ++++++++++++++----- .../VedtakOgBeregningSammenligner.kt | 7 ++-- .../VedtakOgBeregningSammenlignerTest.kt | 7 ++-- .../src/main/kotlin/feilhaandtering/Utils.kt | 31 ++++++++++++++ 13 files changed, 107 insertions(+), 35 deletions(-) create mode 100644 libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/vurdering/AktivitetspliktAktivitetsgradDao.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/vurdering/AktivitetspliktAktivitetsgradDao.kt index 4cbf1d41a7b..6a6fbedcc0e 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/vurdering/AktivitetspliktAktivitetsgradDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/vurdering/AktivitetspliktAktivitetsgradDao.kt @@ -8,6 +8,7 @@ import no.nav.etterlatte.common.ConnectionAutoclosing import no.nav.etterlatte.libs.common.aktivitetsplikt.AktivitetspliktAktivitetsgradDto import no.nav.etterlatte.libs.common.aktivitetsplikt.VurdertAktivitetsgrad import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.database.setSakId @@ -32,8 +33,8 @@ class AktivitetspliktAktivitetsgradDao( oppgaveId: UUID? = null, behandlingId: UUID? = null, ) = connectionAutoclosing.hentConnection { - check(oppgaveId != null || behandlingId != null) { - "Kan ikke opprette aktivitetsgrad som ikke er koblet på en behandling eller oppgave" + checkInternFeil(oppgaveId != null || behandlingId != null) { + "Kan ikke opprette aktivitetsgrad som ikke er koblet på en behandling eller oppgave. $sakId" } with(it) { diff --git a/apps/etterlatte-behandling/src/main/kotlin/oppgaveGosys/GosysOppgaveService.kt b/apps/etterlatte-behandling/src/main/kotlin/oppgaveGosys/GosysOppgaveService.kt index 3c842ee4d02..09f74f7e4c7 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/oppgaveGosys/GosysOppgaveService.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/oppgaveGosys/GosysOppgaveService.kt @@ -12,6 +12,7 @@ import no.nav.etterlatte.inTransaction import no.nav.etterlatte.libs.common.Enhetsnummer import no.nav.etterlatte.libs.common.feilhaandtering.IkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkUgyldigForespoerselException import no.nav.etterlatte.libs.common.oppgave.OppgaveIntern import no.nav.etterlatte.libs.common.oppgave.OppgaveKilde import no.nav.etterlatte.libs.common.oppgave.OppgaveSaksbehandler @@ -246,14 +247,14 @@ class GosysOppgaveServiceImpl( throw StoetterKunFlyttingAvJournalfoeringsoppgave() } - check(!gosysOppgave.journalpostId.isNullOrBlank()) { + checkUgyldigForespoerselException(value = !gosysOppgave.journalpostId.isNullOrBlank(), code = "KAN_IKKE_FLYTTE_GOSYS_OPPGAVE") { "Kan ikke flytte oppgave når journalpostId mangler (oppgaveId=${gosysOppgave.id})" } val nyOppgave = inTransaction { oppgaveService.opprettOppgave( - referanse = gosysOppgave.journalpostId, + referanse = gosysOppgave.journalpostId!!, sakId = sakId, kilde = OppgaveKilde.SAKSBEHANDLER, type = OppgaveType.JOURNALFOERING, diff --git a/apps/etterlatte-beregning/src/main/kotlin/beregning/BeregningRepository.kt b/apps/etterlatte-beregning/src/main/kotlin/beregning/BeregningRepository.kt index 302d42ac79a..f76ce4b2bde 100644 --- a/apps/etterlatte-beregning/src/main/kotlin/beregning/BeregningRepository.kt +++ b/apps/etterlatte-beregning/src/main/kotlin/beregning/BeregningRepository.kt @@ -11,6 +11,7 @@ import no.nav.etterlatte.libs.common.beregning.BeregningsMetode import no.nav.etterlatte.libs.common.beregning.Beregningsperiode import no.nav.etterlatte.libs.common.beregning.Beregningstype import no.nav.etterlatte.libs.common.beregning.OverstyrtBeregningKategori +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.grunnlag.Metadata import no.nav.etterlatte.libs.common.objectMapper @@ -219,19 +220,19 @@ private fun toBeregningsperiode(row: Row): BeregningsperiodeDAO = private fun toBeregning(beregningsperioder: List): Beregning { val base = beregningsperioder.first().apply { - check(beregningsperioder.all { it.beregningId == beregningId }) { + checkInternFeil(beregningsperioder.all { it.beregningId == beregningId }) { "Beregningen inneholder forskjellige beregningsIder $beregningId for beregning $beregningId" } - check(beregningsperioder.all { it.behandlingId == behandlingId }) { + checkInternFeil(beregningsperioder.all { it.behandlingId == behandlingId }) { "Beregningen inneholder forskjellige behandlingIder $behandlingId for beregning $beregningId" } - check(beregningsperioder.all { it.type == type }) { + checkInternFeil(beregningsperioder.all { it.type == type }) { "Beregningen inneholder forskjellige typer $type for beregning $beregningId" } - check(beregningsperioder.all { it.beregnetDato == beregnetDato }) { + checkInternFeil(beregningsperioder.all { it.beregnetDato == beregnetDato }) { "Beregningen inneholder forskjellige beregnetDatoer $beregnetDato for beregning $beregningId" } - check(beregningsperioder.all { it.grunnlagMetadata == grunnlagMetadata }) { + checkInternFeil(beregningsperioder.all { it.grunnlagMetadata == grunnlagMetadata }) { "Beregningen inneholder forskjellige grunnlagMetadata $grunnlagMetadata for beregning $beregningId" } } diff --git a/apps/etterlatte-beregning/src/main/kotlin/beregning/grunnlag/RegulerOverstyrt.kt b/apps/etterlatte-beregning/src/main/kotlin/beregning/grunnlag/RegulerOverstyrt.kt index 72d4ccb9db9..536eb32b122 100644 --- a/apps/etterlatte-beregning/src/main/kotlin/beregning/grunnlag/RegulerOverstyrt.kt +++ b/apps/etterlatte-beregning/src/main/kotlin/beregning/grunnlag/RegulerOverstyrt.kt @@ -4,6 +4,7 @@ import no.nav.etterlatte.beregning.regler.overstyr.RegulerManuellBeregningGrunnl import no.nav.etterlatte.beregning.regler.overstyr.grunnbeloepUtenGrunnlag import no.nav.etterlatte.beregning.regler.overstyr.regulerOverstyrtKroneavrundet import no.nav.etterlatte.grunnbeloep.Grunnbeloep +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.objectMapper import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt @@ -88,17 +89,17 @@ private fun utledGrunnbeloep(reguleringsmaaned: YearMonth) = ).let { resultat -> when (resultat) { is RegelkjoeringResultat.Suksess -> { - check(resultat.periodiserteResultater.size == 2) { + checkInternFeil(resultat.periodiserteResultater.size == 2) { "Fikk uventet antall perioder for utleding av grunnlag: ${resultat.periodiserteResultater.size}" } resultat.periodiserteResultater.let { val gammelG: Grunnbeloep = it[0].resultat.verdi val forrigeGrunnbeloepDato = reguleringsmaaned.minusYears(1) - check(gammelG.dato == forrigeGrunnbeloepDato) { + checkInternFeil(gammelG.dato == forrigeGrunnbeloepDato) { "Dato til utledet forrige grunnbeløp er ikke forventet dato $forrigeGrunnbeloepDato" } val nyG: Grunnbeloep = it[1].resultat.verdi - check(nyG.dato == reguleringsmaaned) { + checkInternFeil(nyG.dato == reguleringsmaaned) { "Dato til utledet nytt grunnbeløp er ikke forventet dato $reguleringsmaaned" } Pair(gammelG, nyG) diff --git a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/BrevService.kt b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/BrevService.kt index 562e21345a1..39083e41f77 100644 --- a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/BrevService.kt +++ b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/BrevService.kt @@ -23,6 +23,7 @@ import no.nav.etterlatte.brev.vedtaksbrev.UgyldigAntallMottakere import no.nav.etterlatte.brev.vedtaksbrev.UgyldigMottakerKanIkkeFerdigstilles import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkUgyldigForespoerselException import no.nav.etterlatte.libs.common.logging.sikkerlogger import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt @@ -348,7 +349,9 @@ class BrevService( logger.info("Sjekker om brev med id=$id kan slettes") val brev = sjekkOmBrevKanEndres(id) - check(brev.behandlingId == null) { "Brev med id=$id er et vedtaksbrev og kan ikke slettes" } + checkUgyldigForespoerselException(value = brev.behandlingId == null, code = "BREV_KAN_IKKE_SLETTES") { + "Brev med id=$id er et vedtaksbrev og kan ikke slettes" + } val result = db.settBrevSlettet(id, bruker) logger.info("Brev med id=$id slettet=$result") diff --git a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/dokarkiv/Journalpost.kt b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/dokarkiv/Journalpost.kt index dbc2b74d488..45fe5ed0ea0 100644 --- a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/dokarkiv/Journalpost.kt +++ b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/dokarkiv/Journalpost.kt @@ -2,6 +2,7 @@ package no.nav.etterlatte.brev.dokarkiv import com.fasterxml.jackson.annotation.JsonInclude import no.nav.etterlatte.libs.common.Enhetsnummer +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import org.slf4j.LoggerFactory interface OpprettJournalpost { @@ -41,7 +42,7 @@ data class JournalpostRequest( override val tittel: String, ) : OpprettJournalpost { init { - check(journalposttype != JournalPostType.NOTAT) { + checkInternFeil(journalposttype != JournalPostType.NOTAT) { "${this::class.simpleName} skal ikke brukes til opprettelse av Notat. " + "Bruk ${OpprettNotatJournalpostRequest::class.simpleName} i stedet." } diff --git a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/model/BrevKodeMapperVedtak.kt b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/model/BrevKodeMapperVedtak.kt index ccb5278c375..126c7eefa3f 100644 --- a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/model/BrevKodeMapperVedtak.kt +++ b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/model/BrevKodeMapperVedtak.kt @@ -15,11 +15,18 @@ data class BrevkodeRequest( val revurderingaarsak: Revurderingaarsak?, ) +class VedtakTypeFeilForBrevkode( + val vedtakType: VedtakType?, +) : UgyldigForespoerselException( + code = "FEIL_VEDTAKTYPE", + detail = "Feil vedtakstype $ $vedtakType", + ) + class BrevKodeMapperVedtak { fun brevKode(request: BrevkodeRequest): Brevkoder { if (request.erMigrering && !request.erForeldreloes) { - check(listOf(VedtakType.INNVILGELSE, VedtakType.ENDRING).contains(request.vedtakType)) { - "Vedtaktype må være ${VedtakType.INNVILGELSE.name} eller ${VedtakType.ENDRING.name} var ${request.vedtakType}" + if (listOf(VedtakType.INNVILGELSE, VedtakType.ENDRING).contains(request.vedtakType)) { + throw VedtakTypeFeilForBrevkode(request.vedtakType) } return Brevkoder.OMREGNING } diff --git a/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/GrunnlagService.kt b/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/GrunnlagService.kt index f153c7a43ac..5f265fba35d 100644 --- a/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/GrunnlagService.kt +++ b/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/GrunnlagService.kt @@ -12,6 +12,8 @@ import no.nav.etterlatte.libs.common.deserialize import no.nav.etterlatte.libs.common.feilhaandtering.GenerellIkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.IkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.IkkeTillattException +import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException +import no.nav.etterlatte.libs.common.feilhaandtering.checkNotNullOrThrowException import no.nav.etterlatte.libs.common.grunnlag.Grunnlag import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.grunnlag.OppdaterGrunnlagRequest @@ -374,8 +376,9 @@ class RealGrunnlagService( hendelsenummer = laastVersjon.hendelsenummer, ) opplysningDao.laasGrunnlagVersjonForBehandling(skalLaasesId) - return checkNotNull(opplysningDao.hentBehandlingVersjon(skalLaasesId)) { - "Fant ikke låst grunnlagsversjon vi akkurat la inn :(" + + return checkNotNullOrThrowException(opplysningDao.hentBehandlingVersjon(skalLaasesId)) { + InternfeilException("Fant ikke låst grunnlagsversjon vi akkurat la inn :(") } } diff --git a/apps/etterlatte-testdata/src/main/kotlin/no/nav/etterlatte/testdata/features/soeknad/OpprettSoeknad.kt b/apps/etterlatte-testdata/src/main/kotlin/no/nav/etterlatte/testdata/features/soeknad/OpprettSoeknad.kt index 776efb467df..13d0e10185d 100644 --- a/apps/etterlatte-testdata/src/main/kotlin/no/nav/etterlatte/testdata/features/soeknad/OpprettSoeknad.kt +++ b/apps/etterlatte-testdata/src/main/kotlin/no/nav/etterlatte/testdata/features/soeknad/OpprettSoeknad.kt @@ -11,6 +11,7 @@ import io.ktor.server.routing.Route import io.ktor.server.routing.get import io.ktor.server.routing.post import no.nav.etterlatte.TestDataFeature +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.innsendtsoeknad.common.SoeknadType import no.nav.etterlatte.libs.ktor.token.Claims import no.nav.etterlatte.libs.ktor.token.brukerTokenInfo @@ -101,7 +102,7 @@ private fun opprettSoeknadJson( behandlingssteg: Behandlingssteg, ): String { if (soeknadType == SoeknadType.BARNEPENSJON) { - check(barnFnr.isNotEmpty()) { + checkInternFeil(barnFnr.isNotEmpty()) { "Kan ikke opprette barnepensjon uten fnr på barn!" } } diff --git a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/vedtak/Vedtaksverifiserer.kt b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/vedtak/Vedtaksverifiserer.kt index 144b66f70cf..b443f843ca5 100644 --- a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/vedtak/Vedtaksverifiserer.kt +++ b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/vedtak/Vedtaksverifiserer.kt @@ -1,5 +1,6 @@ package no.nav.etterlatte.utbetaling.avstemming.vedtak +import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException import no.nav.etterlatte.utbetaling.iverksetting.utbetaling.Utbetaling import no.nav.etterlatte.utbetaling.iverksetting.utbetaling.Utbetalingslinje import no.nav.etterlatte.utbetaling.iverksetting.utbetaling.Utbetalingsperiode @@ -8,6 +9,20 @@ import no.nav.etterlatte.utbetaling.iverksetting.utbetaling.Utbetalingsvedtak import java.math.BigDecimal import java.time.YearMonth +class FeilBeloep( + msg: String, +) : UgyldigForespoerselException( + code = "FEIL_BELOEP", + detail = msg, + ) + +class FeilTomPeriodeVedtak( + msg: String, +) : UgyldigForespoerselException( + code = "FEIL_TOM_PERIODE_VEDTAK", + detail = msg, + ) + class Vedtaksverifiserer { fun verifiser( utbetaling: Utbetaling, @@ -30,17 +45,22 @@ class Vedtaksverifiserer { fraVedtak: Utbetalingsperiode, korresponderendeUtbetalingslinje: Utbetalingslinje, ) { - check(sammenlignBeloep(fraVedtak, korresponderendeUtbetalingslinje)) { - "Beløp fra vedtak $vedtakId var ${fraVedtak.beloep}, men i utbetalingslinje ${korresponderendeUtbetalingslinje.beloep}" + if (!sammenlignBeloep(fraVedtak, korresponderendeUtbetalingslinje)) { + throw FeilBeloep( + "Beløp fra vedtak $vedtakId var ${fraVedtak.beloep}, men i utbetalingslinje ${korresponderendeUtbetalingslinje.beloep}", + ) } - check(fraVedtak.periode.tom == korresponderendeUtbetalingslinje.periode.til?.let { YearMonth.from(it) }) { - "Tom-periode fra vedtak $vedtakId var ${fraVedtak.periode.tom}, men i utbetalingslinje ${ - korresponderendeUtbetalingslinje.periode.til?.let { - YearMonth.from( - it, - ) - } - }" + + if (fraVedtak.periode.tom != korresponderendeUtbetalingslinje.periode.til?.let { YearMonth.from(it) }) { + throw FeilTomPeriodeVedtak( + "Tom-periode fra vedtak $vedtakId var ${fraVedtak.periode.tom}, men i utbetalingslinje ${ + korresponderendeUtbetalingslinje.periode.til?.let { + YearMonth.from( + it, + ) + } + }", + ) } } diff --git a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenligner.kt b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenligner.kt index 19acc9e5bb8..9acb1a01e44 100644 --- a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenligner.kt +++ b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenligner.kt @@ -1,5 +1,6 @@ package no.nav.etterlatte.no.nav.etterlatte.vedtaksvurdering +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.vedtak.Periode import no.nav.etterlatte.libs.common.vedtak.UtbetalingsperiodeType import no.nav.etterlatte.libs.common.vedtak.VedtakType @@ -41,7 +42,7 @@ object VedtakOgBeregningSammenligner { ?: beregning.beregning.beregningsperioder.sortedBy { it.datoFOM }.map { PeriodeMedBeloep(fom = it.datoFOM, tom = it.datoTOM, beloep = it.utbetaltBeloep) } - check(perioder.size == beregningsperioder.size) { + checkInternFeil(perioder.size == beregningsperioder.size) { "Forventa like mange perioder i vedtak som i beregning for vedtak ${vedtak.id} i sak ${vedtak.sakId}. " + "Vedtak hadde ${perioder.size}, mens beregning hadde ${beregningsperioder.size}. " + "Alle perioder fra vedtak: ${perioder.map { "${it.periode}: ${it.beloep}" }}. " + @@ -53,10 +54,10 @@ object VedtakOgBeregningSammenligner { val periode = perioder[i] val beregningsperiode = beregningsperioder[i] - check(BigDecimal(beregningsperiode.beloep) == periode.beloep) { + checkInternFeil(BigDecimal(beregningsperiode.beloep) == periode.beloep) { "Beløp for periode ${periode.periode} i vedtak ${vedtak.id} og behandling ${vedtak.behandlingId} var ${periode.beloep} i vedtak, men ${beregningsperiode.beloep} fra beregning og eventuell avkorting" } - check(Periode(beregningsperiode.fom, beregningsperiode.tom) == periode.periode) { + checkInternFeil(Periode(beregningsperiode.fom, beregningsperiode.tom) == periode.periode) { "FOM og TOM for periode ${periode.periode} i vedtak ${vedtak.id} " + "og behandling ${vedtak.behandlingId} i vedtak, men ${Periode( beregningsperiode.fom, diff --git a/apps/etterlatte-vedtaksvurdering/src/test/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenlignerTest.kt b/apps/etterlatte-vedtaksvurdering/src/test/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenlignerTest.kt index dc65e8b7d51..e19fa7afb87 100644 --- a/apps/etterlatte-vedtaksvurdering/src/test/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenlignerTest.kt +++ b/apps/etterlatte-vedtaksvurdering/src/test/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakOgBeregningSammenlignerTest.kt @@ -10,6 +10,7 @@ import no.nav.etterlatte.libs.common.beregning.AvkortingDto import no.nav.etterlatte.libs.common.beregning.BeregningDTO import no.nav.etterlatte.libs.common.beregning.Beregningsperiode import no.nav.etterlatte.libs.common.beregning.Beregningstype +import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt import no.nav.etterlatte.libs.common.vedtak.Periode import no.nav.etterlatte.libs.common.vedtak.Utbetalingsperiode @@ -33,14 +34,14 @@ class VedtakOgBeregningSammenlignerTest { @Test fun `sammenligner behandling feiler naar sum for beregning og utbetaling ikke stemmer`() { - assertThrows { + assertThrows { VedtakOgBeregningSammenligner.sammenlign(BeregningOgAvkorting(lagBeregning(100), null), lagVedtak()) } } @Test fun `sammenligner behandling feiler naar periode for beregning og utbetaling ikke stemmer`() { - assertThrows { + assertThrows { VedtakOgBeregningSammenligner.sammenlign( BeregningOgAvkorting( lagBeregning( @@ -59,7 +60,7 @@ class VedtakOgBeregningSammenlignerTest { @Test fun `sammenligner behandling feiler naar beloep fra avkorting og utbetaling ikke stemmer`() { - assertThrows { + assertThrows { VedtakOgBeregningSammenligner.sammenlign( BeregningOgAvkorting(lagBeregning(), lagAvkorting(1200)), lagVedtak(), diff --git a/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt b/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt new file mode 100644 index 00000000000..c700b9d7753 --- /dev/null +++ b/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt @@ -0,0 +1,31 @@ +package no.nav.etterlatte.libs.common.feilhaandtering + +fun checkNotNullOrThrowException( + value: T?, + throwable: () -> Throwable, +): T { + if (value == null) { + throw throwable() + } else { + return value + } +} + +fun checkInternFeil( + value: Boolean, + message: () -> String, +) { + if (!value) { + throw InternfeilException(message()) + } +} + +fun checkUgyldigForespoerselException( + value: Boolean, + code: String, + message: () -> String, +) { + if (!value) { + throw UgyldigForespoerselException(code = code, detail = message()) + } +}