Skip to content

Commit

Permalink
Handtere tilfelle der siste § 14 a-vedtak er fatta før lansering av v…
Browse files Browse the repository at this point in the history
…eilarboppfølging men inneværande oppfølgingsperiode vart starta etter lansering

Co-authored-by: Sneha Desai <[email protected]>
  • Loading branch information
slovrid and sneha-d-desai committed Feb 7, 2025
1 parent 7366eef commit 28fbee9
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
Expand Down Expand Up @@ -257,8 +259,10 @@ public void flettInnGjeldende14aVedtak(List<OppfolgingsBruker> brukere) {

if (maybeSiste14aVedtakForBruker.isPresent()) {
Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get();
boolean erGjeldende14aVedtak = siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) ||
siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00"));
boolean erGjeldende14aVedtak =
siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) ||
(siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault())) &&
!maybeStartDatoForOppfolging.get().isAfter(ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault())));

if (!erGjeldende14aVedtak) {
return;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,40 +1,34 @@
package no.nav.pto.veilarbportefolje.siste14aVedtak;

import no.nav.common.json.JsonUtils;
import no.nav.common.types.identer.AktorId;
import no.nav.common.types.identer.Fnr;
import no.nav.pto.veilarbportefolje.domene.ArenaHovedmal;
import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter;
import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker;
import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2;
import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerDTO;
import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity;
import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3;
import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper;
import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;

import java.time.ZonedDateTime;
import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;

import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId;
import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr;
import static no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class FiltreringAvGjeldende14aVedtakTest {
public class FlettingAvGjeldende14aVedtakTest {

private final Siste14aVedtakRepository siste14aVedtakRepository = mock(Siste14aVedtakRepository.class);
private final OppfolgingRepositoryV2 oppfolgingRepositoryV2 = mock(OppfolgingRepositoryV2.class);

private final PostgresOpensearchMapper postgresOpensearchMapper;

FiltreringAvGjeldende14aVedtakTest() {
FlettingAvGjeldende14aVedtakTest() {
this.postgresOpensearchMapper = new PostgresOpensearchMapper(
null,
null,
Expand All @@ -52,7 +46,7 @@ public class FiltreringAvGjeldende14aVedtakTest {
}

@Test
public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_for_lansering_av_veilarboppfolging() {
public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_før_lansering_av_veilarboppfolging() {
GjeldendeIdenter ident1 = genererGjeldendeIdent();

OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
Expand Down Expand Up @@ -168,6 +162,35 @@ public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull();
}

@Test
public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_siste_14a_vedtak_er_fattet_før_lansering_av_veilarboppfolging_men_oppfølgingsperiode_startdato_er_etter_lansering_av_veilarboppfolging() {
GjeldendeIdenter ident1 = genererGjeldendeIdent();

OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
.setFnr(ident1.getFnr().get())
.setAktoer_id(ident1.getAktorId().get());

Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
.aktorId(ident1.getAktorId())
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
.fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00"))
.build();

Map<AktorId, Siste14aVedtakForBruker> aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker);

ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2018-12-02T19:37:25+02:00");

Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));

when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap);
when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap);

postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker));

assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull();
}

private GjeldendeIdenter genererGjeldendeIdent() {
return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build();
}
Expand Down

0 comments on commit 28fbee9

Please sign in to comment.