Search in sources :

Example 1 with BrukerOppdatertInformasjon

use of no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon in project veilarbportefolje by navikt.

the class ManuellStatusServiceTest method skal_oppdatere_oversikten_når_bruker_blir_satt_til_manuell.

@Test
void skal_oppdatere_oversikten_når_bruker_blir_satt_til_manuell() {
    final AktorId aktoerId = randomAktorId();
    oppfolgingRepository.settUnderOppfolging(aktoerId, ZonedDateTime.now());
    populateOpensearch(EnhetId.of("0000"), VeilederId.of(null), aktoerId.get());
    opensearchTestClient.createUserInOpensearch(aktoerId);
    ManuellStatusDTO melding = new ManuellStatusDTO(aktoerId.toString(), true);
    manuellStatusService.behandleKafkaMeldingLogikk(melding);
    final BrukerOppdatertInformasjon oppfolgingData = oppfolgingRepository.hentOppfolgingData(aktoerId).orElseThrow();
    assertThat(oppfolgingData.getManuell()).isTrue();
    pollOpensearchUntil(() -> opensearchTestClient.hentBrukerFraOpensearch(aktoerId).getManuell_bruker().equals(MANUELL.name()));
}
Also used : TestDataUtils.randomAktorId(no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId) AktorId(no.nav.common.types.identer.AktorId) BrukerOppdatertInformasjon(no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon) EndToEndTest(no.nav.pto.veilarbportefolje.util.EndToEndTest) Test(org.junit.jupiter.api.Test)

Example 2 with BrukerOppdatertInformasjon

use of no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon in project veilarbportefolje by navikt.

the class OppfolgingStartetServiceTest method skal_sette_bruker_under_oppfølging_i_databasen.

@Test
void skal_sette_bruker_under_oppfølging_i_databasen() {
    final AktorId aktoerId = TestDataUtils.randomAktorId();
    final OppfolgingStartetDTO payload = new OppfolgingStartetDTO(aktoerId, ZonedDateTime.parse("2020-12-01T00:00:00+02:00"));
    oppfolgingStartetService.behandleKafkaMeldingLogikk(payload);
    final BrukerOppdatertInformasjon info = oppfolgingRepository.hentOppfolgingData(aktoerId).orElseThrow();
    assertThat(info.getOppfolging()).isTrue();
    assertThat(info.getNyForVeileder()).isFalse();
}
Also used : AktorId(no.nav.common.types.identer.AktorId) BrukerOppdatertInformasjon(no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon) EndToEndTest(no.nav.pto.veilarbportefolje.util.EndToEndTest) Test(org.junit.jupiter.api.Test)

Example 3 with BrukerOppdatertInformasjon

use of no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon in project veilarbportefolje by navikt.

the class OppfolgingRepositoryTestV2 method skal_sette_ny_veileder.

@Test
public void skal_sette_ny_veileder() {
    VeilederId veilederId = VeilederId.of("Z12345");
    oppfolgingRepository.settUnderOppfolging(aktoerId, ZonedDateTime.now());
    oppfolgingRepository.settVeileder(aktoerId, veilederId);
    BrukerOppdatertInformasjon brukerOppdatertInformasjon = oppfolgingRepository.hentOppfolgingData(aktoerId).get();
    List<AktorId> aktorIds = oppfolgingRepository.hentAlleBrukereUnderOppfolging();
    assertThat(aktorIds.isEmpty()).isFalse();
    assertThat(aktorIds.get(0)).isEqualTo(aktoerId);
    assertThat(VeilederId.of(brukerOppdatertInformasjon.getVeileder())).isEqualTo(veilederId);
}
Also used : AktorId(no.nav.common.types.identer.AktorId) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId) BrukerOppdatertInformasjon(no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon) Test(org.junit.Test)

Example 4 with BrukerOppdatertInformasjon

use of no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon in project veilarbportefolje by navikt.

the class OppfolgingStartetOgAvsluttetServiceTest method skal_sette_bruker_under_oppfølging_i_databasen.

@Test
void skal_sette_bruker_under_oppfølging_i_databasen() {
    final AktorId aktoerId = TestDataUtils.randomAktorId();
    OppfolgingStartetDTO melding = new OppfolgingStartetDTO(aktoerId, ZonedDateTime.parse("2020-12-01T00:00:00+02:00"));
    oppfolgingStartetService.behandleKafkaMeldingLogikk(melding);
    final BrukerOppdatertInformasjon info = oppfolgingRepository.hentOppfolgingData(aktoerId).orElseThrow();
    assertThat(info.getOppfolging()).isTrue();
    assertThat(info.getNyForVeileder()).isFalse();
}
Also used : AktorId(no.nav.common.types.identer.AktorId) TestDataUtils.randomAktorId(no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId) BrukerOppdatertInformasjon(no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon) 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 5 with BrukerOppdatertInformasjon

use of no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon in project veilarbportefolje by navikt.

the class OppfolgingService method oppdaterBruker.

public void oppdaterBruker(AktorId bruker) {
    if (bruker == null) {
        return;
    }
    try {
        Veilarbportefoljeinfo veialrbinfo = hentVeilarbData(bruker);
        if (veialrbinfo.isErUnderOppfolging()) {
            Optional<BrukerOppdatertInformasjon> dbInfoOracle = oppfolgingRepository.hentOppfolgingData(bruker);
            Optional<BrukerOppdatertInformasjon> dbInfoPostgres = oppfolgingRepositoryV2.hentOppfolgingData(bruker);
            oppdaterStartDatoHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getStartDato).orElse(null), veialrbinfo.getStartDato(), false);
            if (veialrbinfo.isErUnderOppfolging() && (dbInfoPostgres.isEmpty() || !dbInfoPostgres.get().getOppfolging())) {
                oppfolgingRepositoryV2.settUnderOppfolging(bruker, veialrbinfo.getStartDato());
            } else {
                oppdaterStartDatoHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getStartDato).orElse(null), veialrbinfo.getStartDato(), true);
            }
            oppdaterManuellHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getManuell).orElse(false), veialrbinfo.isErManuell(), false);
            oppdaterManuellHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getManuell).orElse(false), veialrbinfo.isErManuell(), true);
            oppdaterNyForVeilederHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getNyForVeileder).orElse(false), veialrbinfo.isNyForVeileder(), false);
            oppdaterNyForVeilederHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getNyForVeileder).orElse(false), veialrbinfo.isNyForVeileder(), true);
            oppdaterVeilederHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getVeileder).orElse(null), Optional.ofNullable(veialrbinfo.getVeilederId()).map(NavIdent::get).orElse(null), false);
            oppdaterVeilederHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getVeileder).orElse(null), Optional.ofNullable(veialrbinfo.getVeilederId()).map(NavIdent::get).orElse(null), true);
        } else {
            log.info("OppfolgingsJobb: bruker er ikke under oppfolging, aktoer: " + bruker);
            oppfolgingAvsluttetService.avsluttOppfolging(bruker);
            antallBrukereSlettet++;
        }
    } catch (RuntimeException e) {
        log.error("RuntimeException i OppfolgingsJobb for bruker {}", bruker);
        log.error("RuntimeException i OppfolgingsJobb", e);
    } catch (Exception e) {
        log.error("Exception i OppfolgingsJobb for bruker {}", bruker);
        log.error("Exception i OppfolgingsJobb", e);
    }
}
Also used : Veilarbportefoljeinfo(no.nav.pto.veilarbportefolje.oppfolging.response.Veilarbportefoljeinfo) NavIdent(no.nav.common.types.identer.NavIdent) IOException(java.io.IOException) BrukerOppdatertInformasjon(no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon)

Aggregations

BrukerOppdatertInformasjon (no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon)9 AktorId (no.nav.common.types.identer.AktorId)7 EndToEndTest (no.nav.pto.veilarbportefolje.util.EndToEndTest)6 Test (org.junit.jupiter.api.Test)6 TestDataUtils.randomAktorId (no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId)3 Test (org.junit.Test)2 IOException (java.io.IOException)1 ZonedDateTime (java.time.ZonedDateTime)1 NavIdent (no.nav.common.types.identer.NavIdent)1 ApplicationConfigTest (no.nav.pto.veilarbportefolje.config.ApplicationConfigTest)1 VeilederId (no.nav.pto.veilarbportefolje.domene.value.VeilederId)1 Veilarbportefoljeinfo (no.nav.pto.veilarbportefolje.oppfolging.response.Veilarbportefoljeinfo)1 TestUtil.readFileAsJsonString (no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString)1 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)1