Skip to content

Commit

Permalink
Merge branch 'main' into feat/sammensatt-kontrollsak
Browse files Browse the repository at this point in the history
  • Loading branch information
bragejahren authored May 24, 2024
2 parents bd79318 + bcf853c commit 71d8478
Show file tree
Hide file tree
Showing 16 changed files with 71 additions and 129 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
GITHUB_USERNAME: x-access-token
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mvn -B --no-transfer-progress verify --settings .m2/maven-settings.xml --file pom.xml -Dgroups=integration -DexcludedGroups=verdikjedetest
mvn -B --no-transfer-progress verify --settings .m2/maven-settings.xml --file pom.xml -Dgroups=integration -DexcludedGroups=verdikjedetest -Dsurefire.rerunFailingTestsCount=2
verdikjedetesterFeatureToggleOff:
name: Verdikjedetester m/ feature toggles slått av
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@
<familie.kontrakter.stønadsstatistikk>2.0_20240311083956_0558f2a</familie.kontrakter.stønadsstatistikk>
<utbetalingsgenerator.version>1.0_20240426154435_ca351af</utbetalingsgenerator.version>
<familie.kontrakter.skatteetaten>2.0_20230214104704_706e9c0</familie.kontrakter.skatteetaten>
<cucumber.version>7.17.0</cucumber.version>
<cucumber.version>7.18.0</cucumber.version>
<mockk.version>1.13.11</mockk.version>
<wiremock.version>3.5.4</wiremock.version>
<wiremock.version>3.6.0</wiremock.version>
<token-validation-spring.version>4.1.7</token-validation-spring.version>
<nav-foedselsnummer.version>1.0-SNAPSHOT.6</nav-foedselsnummer.version>
<springdoc.version>2.5.0</springdoc.version>
Expand Down Expand Up @@ -59,7 +59,7 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.2.5</version>
<version>3.2.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down Expand Up @@ -546,7 +546,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.5.0</version>
<version>3.6.0</version>
<executions>
<execution>
<phase>generate-test-sources</phase>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import no.nav.familie.ba.sak.common.PERSONIDENT_IKKE_GYLDIG_FEILMELDING
import no.nav.familie.ba.sak.common.PERSONIDENT_REGEX
import no.nav.familie.ba.sak.kjerne.personident.PersonidentService
import no.nav.familie.kontrakter.ba.infotrygd.Sak
import no.nav.familie.kontrakter.ba.infotrygd.Stønad
import no.nav.familie.kontrakter.felles.Ressurs
import no.nav.familie.kontrakter.felles.personopplysning.ADRESSEBESKYTTELSEGRADERING
import no.nav.security.token.support.core.api.ProtectedWithClaims
Expand Down Expand Up @@ -39,30 +38,6 @@ class InfotrygdController(

return ResponseEntity.ok(Ressurs.success(infotrygdsaker))
}

@PostMapping(path = ["/hent-infotrygdstonader-for-soker"])
fun hentInfotrygdstønaderForSøker(
@Valid
@RequestBody
personIdent: Personident,
): ResponseEntity<Ressurs<RestInfotrygdstønader>> {
val aktør = personidentService.hentAktør(personIdent.ident)
val infotrygdstønader =
infotrygdService.hentMaskertRestInfotrygdstønaderVedManglendeTilgang(aktør)
?: RestInfotrygdstønader(infotrygdService.hentInfotrygdstønaderForSøker(personIdent.ident).bruker)

return ResponseEntity.ok(Ressurs.success(infotrygdstønader))
}

@PostMapping(path = ["/har-lopende-sak"])
fun harLøpendeSak(
@Valid
@RequestBody
personIdent: Personident,
): ResponseEntity<Ressurs<RestLøpendeSak>> {
val harLøpendeSak = infotrygdBarnetrygdClient.harLøpendeSakIInfotrygd(listOf(personIdent.ident))
return ResponseEntity.ok(Ressurs.success(RestLøpendeSak(harLøpendeSak)))
}
}

class Personident(
Expand All @@ -77,9 +52,6 @@ class RestInfotrygdsaker(
)

class RestInfotrygdstønader(
val stønader: List<Stønad> = emptyList(),
val adressebeskyttelsegradering: ADRESSEBESKYTTELSEGRADERING? = null,
val harTilgang: Boolean = true,
)

class RestLøpendeSak(val harLøpendeSak: Boolean)
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,6 @@ class InfotrygdService(
return infotrygdBarnetrygdClient.hentStønader(søkerIdenter, emptyList(), historikk)
}

fun hentMaskertRestInfotrygdstønaderVedManglendeTilgang(aktør: Aktør): RestInfotrygdstønader? {
return familieIntegrasjonerTilgangskontrollService.hentMaskertPersonInfoVedManglendeTilgang(aktør)
?.let {
RestInfotrygdstønader(
adressebeskyttelsegradering = it.adressebeskyttelseGradering,
harTilgang = false,
)
}
}

fun harÅpenSakIInfotrygd(
kerIdenter: List<String>,
barnasIdenter: List<String> = emptyList(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ fun hentTekstBrevPerioder(
fun hentBrevPeriodeRader(vedtaksperioder: List<VedtaksperiodeMedBegrunnelser>) =
vedtaksperioder.joinToString("") { vedtaksperiode ->
"""
| ${vedtaksperiode.type} | ${vedtaksperiode.fom?.tilMånedÅr() ?: ""} | ${vedtaksperiode.tom?.tilMånedÅr() ?: ""} | | | | |"""
| | ${vedtaksperiode.fom?.tilMånedÅr() ?: ""} | ${vedtaksperiode.tom?.tilMånedÅr() ?: ""} | | | | |"""
}

fun hentBrevBegrunnelseTekster(
Expand Down
5 changes: 5 additions & 0 deletions src/main/kotlin/no/nav/familie/ba/sak/kjerne/brev/BrevUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.familie.ba.sak.kjerne.brev

import no.nav.familie.ba.sak.common.Feil
import no.nav.familie.ba.sak.common.FunksjonellFeil
import no.nav.familie.ba.sak.common.TIDENES_ENDE
import no.nav.familie.ba.sak.common.TIDENES_MORGEN
import no.nav.familie.ba.sak.common.Utils
import no.nav.familie.ba.sak.common.sisteDagIMåned
Expand Down Expand Up @@ -301,9 +302,13 @@ fun skalHenteUtbetalingerEøs(
endringstidspunkt: LocalDate,
valutakurser: List<Valutakurs>,
): Boolean {
// Hvis endringstidspunktet er satt til tidenes ende så returner vi bare false da det ikke finnes valutakurser etter det tidspunktet.
if (endringstidspunkt == TIDENES_ENDE) return false

val valutakurserEtterEndringtidspunktet =
valutakurser.tilSeparateTidslinjerForBarna()
.mapValues { (_, valutakursTidslinjeForBarn) -> valutakursTidslinjeForBarn.beskjærFraOgMed(endringstidspunkt.tilMånedTidspunkt()) }

return valutakurserEtterEndringtidspunktet.any { it.value.erIkkeTom() }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,24 +117,4 @@ class EndretUtbetalingAndelController(
),
)
}

@PostMapping(path = ["/{behandlingId}/tilbakestill"])
fun tilbakestillBehandlingTilBehandlingsresultat(
@PathVariable behandlingId: Long,
): ResponseEntity<Ressurs<String>> {
tilgangService.validerTilgangTilBehandling(behandlingId = behandlingId, event = AuditLoggerEvent.UPDATE)
tilgangService.verifiserHarTilgangTilHandling(
minimumBehandlerRolle = BehandlerRolle.SAKSBEHANDLER,
handling = "Opprett endretutbetalingandel",
)
val behandling = behandlingHentOgPersisterService.hent(behandlingId)
validerBehandlingKanRedigeres(behandling)

tilbakestillBehandlingTilBehandlingsresultatService
.tilbakestillBehandlingTilBehandlingsresultat(behandlingId = behandling.id)

return ResponseEntity.ok(
Ressurs.success("OK"),
)
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ enum class EØSStandardbegrunnelse : IVedtakBegrunnelse {
override val sanityApiNavn = "innvilgetTilleggstekstNullutbetaling"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_INNVILGET
},
INNVILGET_TILLEGGSTEKST_UTBETALINGSTABELL {
override val sanityApiNavn = "innvilgetTilleggstekstUtbetalingstabell"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_INNVILGET
},
INNVILGET_SEKUNDÆRLAND_UK_STANDARD {
override val sanityApiNavn = "innvilgetSekundaerlandUkStandard"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_INNVILGET
Expand Down Expand Up @@ -555,6 +559,10 @@ enum class EØSStandardbegrunnelse : IVedtakBegrunnelse {
override val sanityApiNavn = "fortsattInnvilgetTilleggsteksterSekundaerIkkeFaattSvarPaaSed"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_FORTSATT_INNVILGET
},
FORTSATT_INNVILGET_TILLEGGSTEKST_UTBETALINGSTABELL {
override val sanityApiNavn = "fortsattInnvilgetTilleggstekstUtbetalingstabell"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_FORTSATT_INNVILGET
},
FORTSATT_INNVILGET_TILLEGSTEKST_UK_FULL_UTBETALING {
override val sanityApiNavn = "fortsattInnvilgetTilleggstekstUkFullUtbetaling"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_FORTSATT_INNVILGET
Expand Down Expand Up @@ -611,6 +619,10 @@ enum class EØSStandardbegrunnelse : IVedtakBegrunnelse {
override val sanityApiNavn = "reduksjonTilleggstekstNullutbetaling"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_REDUKSJON
},
REDUKSJON_TILLEGGSTEKST_UTBETALINGSTABELL {
override val sanityApiNavn = "reduksjonTilleggstekstUtbetalingstabell"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_REDUKSJON
},
REDUKSJON_UK_MIDLERTIDIG_DIFFERANSEUTBETALING {
override val sanityApiNavn = "reduksjonUkMidlertidigDifferanseutbetaling"
override val vedtakBegrunnelseType = VedtakBegrunnelseType.EØS_REDUKSJON
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,16 @@ import kotlin.random.Random

val fødselsnummerGenerator = FoedselsnummerGenerator()

fun randomFnr(foedselsdato: LocalDate? = null): String = fødselsnummerGenerator.foedselsnummer(foedselsdato).asString
fun randomFnr(foedselsdato: LocalDate? = null): String {
return fødselsnummerGenerator.foedselsnummer(
foedselsdato ?: (20..70).random().årSiden.minusDays((1..364).random().toLong()),
).asString
}

fun randomBarnFnr(alder: Int? = null): String =
randomFnr((alder ?: (1..16).random()).årSiden.minusDays((1..364).random().toLong()))
randomFnr(
(alder ?: (1..16).random()).årSiden.minusDays((1..364).random().toLong()),
)

fun randomPersonident(
aktør: Aktør,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Qualifier
import org.springframework.cache.CacheManager
import org.springframework.context.ConfigurableApplicationContext
import java.util.UUID

abstract class AbstractMockkSpringRunner {
/**
Expand Down Expand Up @@ -142,7 +143,7 @@ abstract class AbstractMockkSpringRunner {
TaskRepositoryTestConfig.clearMockTaskService(mockOpprettTaskService)
}

MDC.put("callId", "callId")
MDC.put("callId", "${this::class.java.simpleName}-${UUID.randomUUID()}")
}

private fun clearCaches() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package no.nav.familie.ba.sak.kjerne.beregning
import no.nav.familie.ba.sak.common.MånedPeriode
import no.nav.familie.ba.sak.common.lagBehandling
import no.nav.familie.ba.sak.common.lagEndretUtbetalingAndelMedAndelerTilkjentYtelse
import no.nav.familie.ba.sak.common.randomAktør
import no.nav.familie.ba.sak.common.randomBarnFnr
import no.nav.familie.ba.sak.common.tilfeldigPerson
import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse
import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelse
Expand All @@ -22,8 +24,11 @@ internal class TilkjentYtelseUtilsEndretUtbetalingAndelTest {
TilkjentYtelse(behandling = behandling, endretDato = LocalDate.now(), opprettetDato = LocalDate.now())
val beløp = BigDecimal(100)

val barn1 = tilfeldigPerson(personType = PersonType.BARN)
val barn2 = tilfeldigPerson(personType = PersonType.BARN)
val barnAktør1 = randomAktør(randomBarnFnr(10))
val barnAktør2 = randomAktør(randomBarnFnr(14))

val barn1 = tilfeldigPerson(personType = PersonType.BARN, aktør = barnAktør1)
val barn2 = tilfeldigPerson(personType = PersonType.BARN, aktør = barnAktør2)
val søker = tilfeldigPerson(personType = PersonType.SØKER)

@BeforeEach
Expand Down Expand Up @@ -103,63 +108,63 @@ internal class TilkjentYtelseUtilsEndretUtbetalingAndelTest {
assertEquals(8, andelerTilkjentYtelserEtterEUAList.size)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[0],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør1 }[0],
barn1.aktør.aktivFødselsnummer(),
beløp / BigDecimal(2),
YearMonth.of(2018, 1),
YearMonth.of(2018, 3),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[1],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør1 }[1],
barn1.aktør.aktivFødselsnummer(),
beløp / BigDecimal(2),
YearMonth.of(2018, 4),
YearMonth.of(2018, 4),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[2],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør1 }[2],
barn1.aktør.aktivFødselsnummer(),
beløp,
YearMonth.of(2018, 10),
YearMonth.of(2021, 8),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[3],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør2 }[0],
barn2.aktør.aktivFødselsnummer(),
beløp,
YearMonth.of(2018, 2),
YearMonth.of(2018, 3),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[4],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør2 }[1],
barn2.aktør.aktivFødselsnummer(),
beløp / BigDecimal(2),
YearMonth.of(2018, 4),
YearMonth.of(2018, 5),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[5],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør2 }[2],
barn2.aktør.aktivFødselsnummer(),
beløp,
YearMonth.of(2018, 6),
YearMonth.of(2018, 6),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[6],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør2 }[3],
barn2.aktør.aktivFødselsnummer(),
beløp / BigDecimal(2),
YearMonth.of(2018, 7),
YearMonth.of(2018, 8),
)

verifiserAndelTilkjentYtelse(
andelerTilkjentYtelserEtterEUAList[7],
andelerTilkjentYtelserEtterEUAList.filter { it.aktør == barnAktør2 }[4],
barn2.aktør.aktivFødselsnummer(),
beløp / BigDecimal(2),
YearMonth.of(2018, 11),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package no.nav.familie.ba.sak.kjerne.brev

import io.mockk.mockk
import no.nav.familie.ba.sak.common.Feil
import no.nav.familie.ba.sak.common.TIDENES_ENDE
import no.nav.familie.ba.sak.common.lagAndelTilkjentYtelse
import no.nav.familie.ba.sak.common.lagBehandling
import no.nav.familie.ba.sak.common.lagSanityBegrunnelse
Expand Down Expand Up @@ -968,6 +969,23 @@ internal class BrevUtilsTest {
assertThat(skalHenteUtbetalingerEøs(endringstidspunkt = endringstidspunkt, valutakurser = valutakurser)).isFalse
}

@Test
fun `skalHenteUtbetalingerEøs - skal returnere false uavhengig av valutakurs dersom endringstidspunktet er satt til tidenes ende`() {
val endringstidspunkt = TIDENES_ENDE
val barn = randomAktør()

val valutakurser =
listOf(
lagValutakurs(fom = LocalDate.now().minusMonths(4).toYearMonth(), tom = LocalDate.now().minusMonths(4).toYearMonth(), barnAktører = setOf(barn), kurs = BigDecimal.valueOf(1)),
lagValutakurs(fom = LocalDate.now().minusMonths(3).toYearMonth(), tom = LocalDate.now().minusMonths(3).toYearMonth(), barnAktører = setOf(barn), kurs = BigDecimal.valueOf(1.2)),
lagValutakurs(fom = LocalDate.now().minusMonths(2).toYearMonth(), tom = LocalDate.now().minusMonths(2).toYearMonth(), barnAktører = setOf(barn), kurs = BigDecimal.valueOf(1.1)),
lagValutakurs(fom = LocalDate.now().minusMonths(1).toYearMonth(), tom = LocalDate.now().minusMonths(1).toYearMonth(), barnAktører = setOf(barn), kurs = BigDecimal.valueOf(1.2)),
lagValutakurs(fom = LocalDate.now().toYearMonth(), tom = LocalDate.now().toYearMonth(), barnAktører = setOf(barn), kurs = BigDecimal.valueOf(1.3)),
)

assertThat(skalHenteUtbetalingerEøs(endringstidspunkt = endringstidspunkt, valutakurser = valutakurser)).isFalse
}

@Test
fun `hentLandOgStartdatoForUtbetalingstabell - skal finne alle kompetanser som gjelder etter endringstidspunktet`() {
val endringstidspunkt = LocalDate.now().tilMånedTidspunkt()
Expand Down
Loading

0 comments on commit 71d8478

Please sign in to comment.