Skip to content

Commit

Permalink
Korrigerer hvordan vi utleder om opplysningsplikt-hjemler skal vises (#…
Browse files Browse the repository at this point in the history
…4952)

Favro:
[NAV-23449](https://favro.com/organization/98c34fb974ce445eac854de0/1844bbac3b6605eacc8f5543?card=NAV-23449)

### 💰 Hva skal gjøres, og hvorfor?
Opplysningsplikt-hjemler vises alltid i brev dersom det ikke finnes
opplysningsplikt-vilkår i behandlingen. Fikser dette slik at vi kun
viser opplysningsplikt-hjemler dersom opplysningsplikt-vilkåret finnes
og det er satt til `IKKE_OPPFYLT`.


### ✅ Checklist
- [x] Jeg har testet mine endringer i henhold til akseptansekriteriene
🕵️
- [ ] Jeg har config- eller sql-endringer.
- [x] Jeg har skrevet tester.

### 💬 Ønsker du en muntlig gjennomgang?
- [ ] Ja
- [x] Nei
  • Loading branch information
bragejahren authored Dec 6, 2024
1 parent 438ff35 commit 4ed392b
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 192 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.familie.ba.sak.kjerne.brev.hjemler

import no.nav.familie.ba.sak.common.FunksjonellFeil
import no.nav.familie.ba.sak.integrasjoner.sanity.SanityService
import no.nav.familie.ba.sak.kjerne.autovedtak.fødselshendelse.Resultat
import no.nav.familie.ba.sak.kjerne.brev.slåSammen
import no.nav.familie.ba.sak.kjerne.grunnlag.personopplysninger.PersongrunnlagService
import no.nav.familie.ba.sak.kjerne.vedtak.domene.VedtaksperiodeMedBegrunnelser
Expand Down Expand Up @@ -51,7 +52,7 @@ class HjemmeltekstUtleder(
utledOrdinæreHjemler(
sanityBegrunnelser = sanitybegrunnelser,
sanityEøsBegrunnelser = sanityEøsBegrunnelser,
opplysningspliktHjemlerSkalMedIBrev = !vilkårsvurdering.erOpplysningspliktVilkårOppfylt(),
opplysningspliktHjemlerSkalMedIBrev = vilkårsvurdering.finnOpplysningspliktVilkår()?.resultat == Resultat.IKKE_OPPFYLT,
finnesVedtaksperiodeMedFritekst = sorterteVedtaksperioderMedBegrunnelser.any { it.fritekster.isNotEmpty() },
),
folketrygdlovenHjemler = utledFolketrygdlovenHjemler(sanityBegrunnelser = sanitybegrunnelser, sanityEøsBegrunnelser = sanityEøsBegrunnelser),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import jakarta.persistence.OneToMany
import jakarta.persistence.SequenceGenerator
import jakarta.persistence.Table
import no.nav.familie.ba.sak.common.BaseEntitet
import no.nav.familie.ba.sak.kjerne.autovedtak.fødselshendelse.Resultat
import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling
import no.nav.familie.ba.sak.kjerne.grunnlag.personopplysninger.PersonopplysningGrunnlag
import no.nav.familie.ba.sak.sikkerhet.RollestyringMotDatabase
Expand Down Expand Up @@ -85,15 +84,6 @@ data class Vilkårsvurdering(
.andreVurderinger
.singleOrNull { it.type == AnnenVurderingType.OPPLYSNINGSPLIKT }

fun erOpplysningspliktVilkårOppfylt(): Boolean {
val opplysningspliktVilkår =
personResultater
.single { it.erSøkersResultater() }
.andreVurderinger
.singleOrNull { it.type == AnnenVurderingType.OPPLYSNINGSPLIKT }
return opplysningspliktVilkår?.resultat == Resultat.OPPFYLT
}

fun hentPersonResultaterTil(aktørId: String): List<VilkårResultat> =
personResultater.find { it.aktør.aktørId == aktørId }?.vilkårResultater?.toList()
?: throw IllegalStateException("Fant ikke personresultat for $aktørId")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,7 @@ fun lagVilkårsvurdering(
resultat: Resultat,
kerPeriodeFom: LocalDate? = LocalDate.now().minusMonths(1),
kerPeriodeTom: LocalDate? = LocalDate.now().plusYears(2),
medAndreVurderinger: Boolean = true,
): Vilkårsvurdering {
val vilkårsvurdering =
Vilkårsvurdering(
Expand Down Expand Up @@ -855,14 +856,16 @@ fun lagVilkårsvurdering(
),
),
)
personResultat.andreVurderinger.add(
AnnenVurdering(
personResultat = personResultat,
resultat = resultat,
type = AnnenVurderingType.OPPLYSNINGSPLIKT,
begrunnelse = null,
),
)
if (medAndreVurderinger) {
personResultat.andreVurderinger.add(
AnnenVurdering(
personResultat = personResultat,
resultat = resultat,
type = AnnenVurderingType.OPPLYSNINGSPLIKT,
begrunnelse = null,
),
)
}

vilkårsvurdering.personResultater = setOf(personResultat)
return vilkårsvurdering
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,78 @@ class HjemmeltekstUtlederTest {
assertThat(hjemler).isEqualTo("barnetrygdloven §§ 2, 4, 10 og 11")
}

@Test
fun `skal ikke inkludere hjemmel 17 og 18 hvis andreVurderinger ikke inneholder opplysningsplikt-vilkår`() {
// Arrange
val søker = randomAktør()

val behandling = lagBehandling()

val vedtaksperioderMedBegrunnelser =
listOf(
lagVedtaksperiodeMedBegrunnelser(
begrunnelser =
mutableSetOf(
lagVedtaksbegrunnelse(
standardbegrunnelse = Standardbegrunnelse.INNVILGET_BOSATT_I_RIKTET,
),
),
),
lagVedtaksperiodeMedBegrunnelser(
begrunnelser =
mutableSetOf(
lagVedtaksbegrunnelse(
standardbegrunnelse = Standardbegrunnelse.INNVILGET_SATSENDRING,
),
),
),
)

every { refusjonEøsService.harRefusjonEøsPåBehandling(behandlingId = behandling.id) } returns false
every { persongrunnlagService.hentSøkersMålform(behandlingId = behandling.id) } returns Målform.NB

every {
vilkårsvurderingService.hentAktivForBehandling(behandlingId = behandling.id)
} returns
lagVilkårsvurdering(
søkerAktør = søker,
behandling = behandling,
resultat = Resultat.OPPFYLT,
medAndreVurderinger = false,
)

every {
sanityService.hentSanityBegrunnelser()
} returns
mapOf(
Standardbegrunnelse.INNVILGET_BOSATT_I_RIKTET to
lagSanityBegrunnelse(
apiNavn = Standardbegrunnelse.INNVILGET_BOSATT_I_RIKTET.sanityApiNavn,
hjemler = listOf("11", "4", "2", "10"),
),
Standardbegrunnelse.INNVILGET_SATSENDRING to
lagSanityBegrunnelse(
apiNavn = Standardbegrunnelse.INNVILGET_SATSENDRING.sanityApiNavn,
hjemler = listOf("10"),
),
)

every {
sanityService.hentSanityEØSBegrunnelser()
} returns emptyMap()

// Act
val hjemler =
hjemmeltekstUtleder.utledHjemmeltekst(
behandlingId = behandling.id,
vedtakKorrigertHjemmelSkalMedIBrev = false,
sorterteVedtaksperioderMedBegrunnelser = vedtaksperioderMedBegrunnelser,
)

// Assert
assertThat(hjemler).isEqualTo("barnetrygdloven §§ 2, 4, 10 og 11")
}

@Test
fun `skal inkludere hjemmel for fritekst`() {
// Arrange
Expand Down

This file was deleted.

0 comments on commit 4ed392b

Please sign in to comment.