Skip to content

Commit

Permalink
Trekk ut lanseringstidspunkt som konstant og legg til eit ekstra test…
Browse files Browse the repository at this point in the history
…scenario
  • Loading branch information
slovrid committed Feb 7, 2025
1 parent 28fbee9 commit 31cad62
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
@Service
@RequiredArgsConstructor
public class PostgresOpensearchMapper {
public static final ZonedDateTime LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE = ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault());

private final AktivitetOpensearchService aktivitetOpensearchService;
private final SisteEndringService sisteEndringService;
private final PdlService pdlService;
Expand Down Expand Up @@ -261,8 +263,8 @@ public void flettInnGjeldende14aVedtak(List<OppfolgingsBruker> brukere) {
Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get();
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())));
(siste14aVedtakForBruker.getFattetDato().isBefore(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE) &&
!maybeStartDatoForOppfolging.get().isAfter(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE));

if (!erGjeldende14aVedtak) {
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import java.util.Map;
import java.util.Optional;

import static no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper.LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE;
import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId;
import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr;
import static org.assertj.core.api.Assertions.assertThat;
Expand Down Expand Up @@ -61,7 +62,7 @@ public class FlettingAvGjeldende14aVedtakTest {

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

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

Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
Expand All @@ -88,12 +89,12 @@ public class FlettingAvGjeldende14aVedtakTest {
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
.aktorId(ident1.getAktorId())
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
.fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00"))
.fattetDato(ZonedDateTime.parse("2020-11-10T10:00:00+02:00"))
.build();

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

ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2017-12-02T19:37:25+02:00");
ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2019-05-11T10:00:00+02:00");

Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
Expand All @@ -120,12 +121,12 @@ public class FlettingAvGjeldende14aVedtakTest {
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
.aktorId(ident1.getAktorId())
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
.fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00"))
.fattetDato(ZonedDateTime.parse("2018-11-10T10:00:00+02:00"))
.build();

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

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

Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
Expand All @@ -139,7 +140,7 @@ public class FlettingAvGjeldende14aVedtakTest {
}

@Test
public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_siste_14a_vedtak_når_bruker_ikke_er_under_oppfølging() {
public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_bruker_har_et_siste_14a_vedtak_men_ikke_er_under_oppfølging() {
GjeldendeIdenter ident1 = genererGjeldendeIdent();

OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
Expand All @@ -149,7 +150,7 @@ public class FlettingAvGjeldende14aVedtakTest {
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
.aktorId(ident1.getAktorId())
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
.fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00"))
.fattetDato(ZonedDateTime.parse("2018-11-10T10:00:00+02:00"))
.build();

Map<AktorId, Siste14aVedtakForBruker> aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker);
Expand All @@ -173,12 +174,12 @@ public class FlettingAvGjeldende14aVedtakTest {
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
.aktorId(ident1.getAktorId())
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
.fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00"))
.fattetDato(ZonedDateTime.parse("2015-01-20T10:00:00+02:00"))
.build();

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

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

Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
Expand All @@ -191,6 +192,38 @@ public class FlettingAvGjeldende14aVedtakTest {
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull();
}

@Test
public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_personen_ikke_har_noen_14a_vedtak() {
GjeldendeIdenter ident1 = genererGjeldendeIdent();
GjeldendeIdenter ident2 = genererGjeldendeIdent();

OppfolgingsBruker oppfolgingsbruker1 = new OppfolgingsBruker()
.setFnr(ident1.getFnr().get())
.setAktoer_id(ident1.getAktorId().get());
OppfolgingsBruker oppfolgingsbruker2 = new OppfolgingsBruker()
.setFnr(ident2.getFnr().get())
.setAktoer_id(ident2.getAktorId().get());

Map<AktorId, Siste14aVedtakForBruker> aktorIdSiste14aVedtakMap = Collections.emptyMap();

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

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

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

postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker1, oppfolgingsbruker2));

assertThat(oppfolgingsbruker1.getGjeldendeVedtak14a()).isNull();
assertThat(oppfolgingsbruker2.getGjeldendeVedtak14a()).isNull();
}

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

0 comments on commit 31cad62

Please sign in to comment.