Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avbryt månedlig valutajustering dersom det ikke eksisterer valutakurser i forrige behandling #4801

Merged
merged 3 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingType
import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingÅrsak
import no.nav.familie.ba.sak.kjerne.eøs.felles.BehandlingId
import no.nav.familie.ba.sak.kjerne.eøs.valutakurs.ValutakursService
import no.nav.familie.ba.sak.kjerne.eøs.valutakurs.erAlleValutakurserOppdaterteIMåned
import no.nav.familie.ba.sak.kjerne.eøs.valutakurs.måValutakurserOppdateresForMåned
import no.nav.familie.ba.sak.kjerne.fagsak.FagsakStatus
import no.nav.familie.ba.sak.kjerne.simulering.SimuleringService
import no.nav.familie.ba.sak.kjerne.steg.StegType
Expand Down Expand Up @@ -57,7 +57,7 @@ class AutovedtakMånedligValutajusteringService(

val sisteVedtatteBehandling = behandlingHentOgPersisterService.hentSisteBehandlingSomErVedtatt(fagsakId = fagsakId) ?: error("Fant ikke siste vedtatte behandling for $fagsakId")
val sisteValutakurser = valutakursService.hentValutakurser(BehandlingId(sisteVedtatteBehandling.id))
if (sisteValutakurser.erAlleValutakurserOppdaterteIMåned(måned)) {
if (!sisteValutakurser.måValutakurserOppdateresForMåned(måned)) {
logger.info("Valutakursene er allerede oppdatert for fagsak $fagsakId. Hopper ut")
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,10 @@ fun List<UtfyltValutakurs>.tilTidslinje() =
)
}.tilTidslinje()

fun Collection<Valutakurs>.erAlleValutakurserOppdaterteIMåned(
fun Collection<Valutakurs>.måValutakurserOppdateresForMåned(
måned: YearMonth,
) = isNotEmpty() &&
none {
) =
any {
val fom = it.fom ?: TIDENES_MORGEN.toYearMonth()
val tom = it.tom ?: TIDENES_ENDE.toYearMonth()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,14 @@ class AutovedtakMånedligValutajusteringServiceTest {
fun `utførMånedligValutajustering kaster Feil hvis en annen enn nåværende måned blir sendt inn`() {
every { localDateProvider.now() } returns LocalDate.now()
every { behandlingHentOgPersisterService.hentSisteBehandlingSomErVedtatt(any()) } returns lagBehandling()
every { valutaKursService.hentValutakurser(any()) } returns emptyList()
every { valutaKursService.hentValutakurser(any()) } returns
listOf(
Valutakurs(
fom = YearMonth.now().minusYears(1),
tom = null,
vurderingsform = Vurderingsform.MANUELL,
),
)

assertThrows<Feil> {
autovedtakMånedligValutajusteringService.utførMånedligValutajustering(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,9 @@ class ValutakursTest {
}

@Nested
inner class `Valider at erAlleValutakurserOppdaterteIMåned` {
inner class `Valider at måValutakurserOppdateresForMåned` {
@Test
fun `gir true når alle valutakurser er oppdatert for gitt måned`() {
fun `gir false når alle valutakurser er oppdatert for gitt måned`() {
val måned = LocalDate.now().toYearMonth()

val valutakurs1 =
Expand All @@ -143,11 +143,11 @@ class ValutakursTest {

val valutakurser = listOf(valutakurs1, valutakurs2)

assertThat(valutakurser.erAlleValutakurserOppdaterteIMåned(måned)).isTrue()
assertThat(valutakurser.måValutakurserOppdateresForMåned(måned)).isFalse()
}

@Test
fun `gir false når en valutakurs ikke er oppdatert for gitt måned`() {
fun `gir true når minst én valutakurs ikke er oppdatert for gitt måned`() {
val måned = LocalDate.now().toYearMonth()

val valutakurs1 =
Expand All @@ -166,7 +166,7 @@ class ValutakursTest {

val valutakurser = listOf(valutakurs1, valutakurs2)

assertThat(valutakurser.erAlleValutakurserOppdaterteIMåned(måned)).isFalse()
assertThat(valutakurser.måValutakurserOppdateresForMåned(måned)).isTrue()
}
}
}