use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold in project veilarbportefolje by navikt.
the class YtelserTest method sletterLopendeYtelse.
@Test
public void sletterLopendeYtelse() {
String sak1 = "Sak1";
String sak2 = "Sak2";
Timestamp nextWeek = Timestamp.valueOf(ZonedDateTime.now().plusWeeks(1).toLocalDateTime());
YtelsesRepositoryV2 mockRepositoryV2 = mock(YtelsesRepositoryV2.class);
YtelsesServicePostgres tempYtelsesServicePostgres = new YtelsesServicePostgres(aktorClient, brukerDataService, mockRepositoryV2);
List<YtelseDAO> ytelser = List.of(new YtelseDAO().setSaksId(sak2).setStartDato(nextWeek).setUtlopsDato(nextWeek).setType(TypeKafkaYtelse.DAGPENGER).setRettighetstypeKode("LONN").setSakstypeKode("DAGP"));
Mockito.when(mockRepositoryV2.getYtelser(aktorId)).thenReturn(ytelser);
YtelsesInnhold sletteInnhold = lagInnhold("1", LocalDate.now(), sak1, fnr, personId);
Optional<YtelseDAO> lopendeYtelseP = tempYtelsesServicePostgres.oppdaterYtelsesInformasjonMedUnntaksLogikkForSletting(aktorId, sletteInnhold);
assertThat(lopendeYtelseP.isEmpty()).isTrue();
}
use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold in project veilarbportefolje by navikt.
the class YtelserTest method sletterLopendeYtelseOgAktivererNesteVedtakPaSammeSak.
@Test
public void sletterLopendeYtelseOgAktivererNesteVedtakPaSammeSak() {
String sak1 = "Sak1";
String sak2 = "Sak2";
Timestamp nextWeek = Timestamp.valueOf(ZonedDateTime.now().plusWeeks(1).toLocalDateTime());
Timestamp nextMonth = Timestamp.valueOf(ZonedDateTime.now().plusMonths(1).toLocalDateTime());
YtelsesRepositoryV2 mockRepositoryV2 = mock(YtelsesRepositoryV2.class);
YtelsesServicePostgres tempYtelsesServicePostgres = new YtelsesServicePostgres(aktorClient, brukerDataService, mockRepositoryV2);
List<YtelseDAO> ytelser = List.of(new YtelseDAO().setSaksId(sak1).setStartDato(nextWeek).setUtlopsDato(nextMonth).setType(TypeKafkaYtelse.DAGPENGER).setRettighetstypeKode("LONN").setSakstypeKode("DAGP"), new YtelseDAO().setSaksId(sak2).setStartDato(nextWeek).setUtlopsDato(nextWeek).setType(TypeKafkaYtelse.DAGPENGER).setRettighetstypeKode("LONN").setSakstypeKode("DAGP"));
Mockito.when(mockRepositoryV2.getYtelser(aktorId)).thenReturn(ytelser);
YtelsesInnhold sletteInnhold = lagInnhold("1", LocalDate.now(), sak1, fnr, personId);
Optional<YtelseDAO> lopendeYtelseP = tempYtelsesServicePostgres.oppdaterYtelsesInformasjonMedUnntaksLogikkForSletting(aktorId, sletteInnhold);
assertThat(lopendeYtelseP.get().getSaksId()).isEqualTo(sak1);
assertThat(lopendeYtelseP.get().getUtlopsDato()).isEqualTo(nextMonth);
}
use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold in project veilarbportefolje by navikt.
the class YtelseRepositoryV2Test method lagInnhold.
public static YtelsesInnhold lagInnhold(String vedtaksId, LocalDate startDato, String saksId, Fnr fnr, PersonId personId, Integer ukerIgjen, Integer ukerIgjenPermittert, Integer dagerIgjenUnntak) {
YtelsesInnhold innhold = new YtelsesInnhold();
innhold.setFnr(fnr.get());
innhold.setVedtakId(vedtaksId);
innhold.setSaksId(saksId);
innhold.setSakstypeKode("AA");
innhold.setRettighetstypeKode("AAP");
innhold.setPersonId(personId.getValue());
innhold.setFraOgMedDato(new ArenaDato(startDato.toString() + " 00:00:00"));
innhold.setTilOgMedDato(new ArenaDato("2100-07-13 00:00:00"));
innhold.setHendelseId(1L);
innhold.setAntallUkerIgjen(ukerIgjen);
innhold.setAntallUkerIgjenUnderPermittering(ukerIgjenPermittert);
innhold.setAntallDagerIgjenUnntak(dagerIgjenUnntak);
return innhold;
}
use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold in project veilarbportefolje by navikt.
the class YtelsesServicePostgres method behandleKafkaMeldingPostgres.
public void behandleKafkaMeldingPostgres(YtelsesDTO kafkaMelding, TypeKafkaYtelse ytelse) {
YtelsesInnhold innhold = getInnhold(kafkaMelding);
AktorId aktorId = getAktorId(aktorClient, innhold.getFnr());
if (skalSlettesGoldenGate(kafkaMelding)) {
log.info("Postgres: Sletter ytelse: {}, pa aktorId: {}", innhold.getVedtakId(), aktorId);
ytelsesRepositoryV2.slettYtelse(innhold.getVedtakId());
oppdaterYtelsesInformasjonMedUnntaksLogikkForSletting(aktorId, innhold);
} else {
log.info("Postgres: Lagrer ytelse: {}, pa aktorId: {}", innhold.getVedtakId(), aktorId);
ytelsesRepositoryV2.upsert(aktorId, ytelse, innhold);
oppdaterYtelsesInformasjonPostgres(aktorId);
}
}
use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold in project veilarbportefolje by navikt.
the class YtelsesService method behandleKafkaMeldingOracle.
public void behandleKafkaMeldingOracle(YtelsesDTO kafkaMelding, TypeKafkaYtelse ytelse) {
YtelsesInnhold innhold = getInnhold(kafkaMelding);
AktorId aktorId = getAktorId(aktorClient, innhold.getFnr());
if (skalSlettesGoldenGate(kafkaMelding)) {
log.info("Sletter ytelse: {}, pa aktorId: {}", innhold.getVedtakId(), aktorId);
ytelsesRepository.slettYtelse(innhold.getVedtakId());
oppdaterYtelsesInformasjonMedUnntaksLogikkForSletting(aktorId, innhold);
} else {
log.info("Lagrer ytelse: {}, pa aktorId: {}", innhold.getVedtakId(), aktorId);
ytelsesRepository.upsertYtelse(aktorId, ytelse, innhold);
oppdaterYtelsesInformasjonOracle(aktorId, PersonId.of(innhold.getPersonId()));
}
opensearchIndexer.indekser(aktorId);
}
Aggregations