Search in sources :

Example 1 with YtelsesInnhold

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();
}
Also used : YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) YtelseDAO(no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelseDAO) TestUtil.readFileAsJsonString(no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Timestamp(java.sql.Timestamp) YtelsesRepositoryV2(no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelsesRepositoryV2) YtelsesServicePostgres(no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelsesServicePostgres) EndToEndTest(no.nav.pto.veilarbportefolje.util.EndToEndTest) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with YtelsesInnhold

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);
}
Also used : YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) YtelseDAO(no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelseDAO) TestUtil.readFileAsJsonString(no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Timestamp(java.sql.Timestamp) YtelsesRepositoryV2(no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelsesRepositoryV2) YtelsesServicePostgres(no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelsesServicePostgres) EndToEndTest(no.nav.pto.veilarbportefolje.util.EndToEndTest) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 3 with YtelsesInnhold

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;
}
Also used : YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold)

Example 4 with YtelsesInnhold

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);
    }
}
Also used : YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) AktorId(no.nav.common.types.identer.AktorId)

Example 5 with YtelsesInnhold

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);
}
Also used : YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) AktorId(no.nav.common.types.identer.AktorId) ArenaUtils.getAktorId(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getAktorId)

Aggregations

YtelsesInnhold (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold)8 YtelsesDTO (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesDTO)3 ApplicationConfigTest (no.nav.pto.veilarbportefolje.config.ApplicationConfigTest)3 EndToEndTest (no.nav.pto.veilarbportefolje.util.EndToEndTest)3 Test (org.junit.jupiter.api.Test)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)3 Timestamp (java.sql.Timestamp)2 AktorId (no.nav.common.types.identer.AktorId)2 YtelseDAO (no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelseDAO)2 YtelsesRepositoryV2 (no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelsesRepositoryV2)2 YtelsesServicePostgres (no.nav.pto.veilarbportefolje.arenapakafka.ytelser.YtelsesServicePostgres)2 TestUtil.readFileAsJsonString (no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString)2 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 ArenaUtils.getAktorId (no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getAktorId)1 PostgresAktorIdEntity (no.nav.pto.veilarbportefolje.postgres.opensearch.PostgresAktorIdEntity)1