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()));
}
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();
}
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);
}
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();
}
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);
}
}
Aggregations