Skip to content

Commit 28fbee9

Browse files
Handtere tilfelle der siste § 14 a-vedtak er fatta før lansering av veilarboppfølging men inneværande oppfølgingsperiode vart starta etter lansering
Co-authored-by: Sneha Desai <[email protected]>
1 parent 7366eef commit 28fbee9

File tree

2 files changed

+42
-15
lines changed

2 files changed

+42
-15
lines changed

src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse;
3030
import org.springframework.stereotype.Service;
3131

32+
import java.time.LocalDate;
33+
import java.time.ZoneId;
3234
import java.time.ZonedDateTime;
3335
import java.util.*;
3436
import java.util.concurrent.atomic.AtomicInteger;
@@ -257,8 +259,10 @@ public void flettInnGjeldende14aVedtak(List<OppfolgingsBruker> brukere) {
257259

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

263267
if (!erGjeldende14aVedtak) {
264268
return;

src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java

+36-13
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,34 @@
11
package no.nav.pto.veilarbportefolje.siste14aVedtak;
22

3-
import no.nav.common.json.JsonUtils;
43
import no.nav.common.types.identer.AktorId;
5-
import no.nav.common.types.identer.Fnr;
6-
import no.nav.pto.veilarbportefolje.domene.ArenaHovedmal;
74
import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter;
85
import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker;
96
import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2;
10-
import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerDTO;
11-
import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity;
12-
import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3;
137
import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper;
148
import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal;
159
import org.junit.jupiter.api.Test;
16-
import org.mockito.InjectMocks;
1710

1811
import java.time.ZonedDateTime;
19-
import java.util.*;
12+
import java.util.Collections;
13+
import java.util.List;
14+
import java.util.Map;
15+
import java.util.Optional;
2016

2117
import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId;
2218
import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr;
23-
import static no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString;
2419
import static org.assertj.core.api.Assertions.assertThat;
25-
import static org.junit.jupiter.api.Assertions.assertEquals;
2620
import static org.mockito.ArgumentMatchers.any;
2721
import static org.mockito.Mockito.mock;
2822
import static org.mockito.Mockito.when;
2923

30-
public class FiltreringAvGjeldende14aVedtakTest {
24+
public class FlettingAvGjeldende14aVedtakTest {
3125

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

3529
private final PostgresOpensearchMapper postgresOpensearchMapper;
3630

37-
FiltreringAvGjeldende14aVedtakTest() {
31+
FlettingAvGjeldende14aVedtakTest() {
3832
this.postgresOpensearchMapper = new PostgresOpensearchMapper(
3933
null,
4034
null,
@@ -52,7 +46,7 @@ public class FiltreringAvGjeldende14aVedtakTest {
5246
}
5347

5448
@Test
55-
public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_for_lansering_av_veilarboppfolging() {
49+
public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_før_lansering_av_veilarboppfolging() {
5650
GjeldendeIdenter ident1 = genererGjeldendeIdent();
5751

5852
OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
@@ -168,6 +162,35 @@ public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_
168162
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull();
169163
}
170164

165+
@Test
166+
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() {
167+
GjeldendeIdenter ident1 = genererGjeldendeIdent();
168+
169+
OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
170+
.setFnr(ident1.getFnr().get())
171+
.setAktoer_id(ident1.getAktorId().get());
172+
173+
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
174+
.aktorId(ident1.getAktorId())
175+
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
176+
.fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00"))
177+
.build();
178+
179+
Map<AktorId, Siste14aVedtakForBruker> aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker);
180+
181+
ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2018-12-02T19:37:25+02:00");
182+
183+
Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
184+
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
185+
186+
when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap);
187+
when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap);
188+
189+
postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker));
190+
191+
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull();
192+
}
193+
171194
private GjeldendeIdenter genererGjeldendeIdent() {
172195
return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build();
173196
}

0 commit comments

Comments
 (0)