Skip to content

Commit

Permalink
POFIM-169: Qa endringer
Browse files Browse the repository at this point in the history
  • Loading branch information
pekern committed Jan 20, 2025
1 parent 5953119 commit bb796ab
Show file tree
Hide file tree
Showing 13 changed files with 29 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ public class ForespørselRest {

/**
* Tjeneste for å opprette en ny beskjed på en eksisterende forespørsel.
* Vil opprette ny beskjed som er synlig under saken i min side organisasjonsnummer,samt sende ut et eksternt varsel
* Vil opprette ny beskjed som er synlig under saken i min side arbeidsgiver, samt sende ut et eksternt varsel
*
* @param request
* @return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class ForespørselBehandlingTjenesteImpl implements ForespørselBehandlingTjenes
validerStartdato(foresporsel, startdato);

arbeidsgiverNotifikasjon.oppgaveUtført(foresporsel.getOppgaveId(), OffsetDateTime.now());
arbeidsgiverNotifikasjon.ferdigstillSak(foresporsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i organisasjonsnummer-notifikasjon
arbeidsgiverNotifikasjon.ferdigstillSak(foresporsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i arbeidsgiver-notifikasjon
arbeidsgiverNotifikasjon.oppdaterSakTilleggsinformasjon(foresporsel.getArbeidsgiverNotifikasjonSakId(),
ForespørselTekster.lagTilleggsInformasjon(årsak));
forespørselTjeneste.ferdigstillForespørsel(foresporsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i forespørsel
Expand Down Expand Up @@ -250,7 +250,7 @@ class ForespørselBehandlingTjenesteImpl implements ForespørselBehandlingTjenes
public void settForespørselTilUtgått(ForespørselEntitet eksisterendeForespørsel, boolean skalOppdatereArbeidsgiverNotifikasjon) {
if (skalOppdatereArbeidsgiverNotifikasjon) {
arbeidsgiverNotifikasjon.oppgaveUtgått(eksisterendeForespørsel.getOppgaveId(), OffsetDateTime.now());
arbeidsgiverNotifikasjon.ferdigstillSak(eksisterendeForespørsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i organisasjonsnummer-notifikasjon
arbeidsgiverNotifikasjon.ferdigstillSak(eksisterendeForespørsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i arbeidsgiver-notifikasjon
}

arbeidsgiverNotifikasjon.oppdaterSakTilleggsinformasjon(eksisterendeForespørsel.getArbeidsgiverNotifikasjonSakId(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

class ForespørselTekster {
private static final String OPPGAVE_TEKST_NY = "Innsending av inntektsmelding for %s";
private static final String VARSEL_TEKST = "%s - orgnr %s: En av dine ansatte har søkt om %s og vi trenger inntektsmelding for å behandle søknaden. Logg inn på Min side – organisasjonsnummer hos Nav. Hvis dere sender inn via lønnssystem kan dere fortsette med dette.";
private static final String VARSEL_TEKST = "%s - orgnr %s: En av dine ansatte har søkt om %s og vi trenger inntektsmelding for å behandle søknaden. Logg inn på Min side – arbeidsgiver hos Nav. Hvis dere sender inn via lønnssystem kan dere fortsette med dette.";
private static final String BESKJED_FRA_SAKSBEHANDLER_TEKST = "Vi har ennå ikke mottatt inntektsmelding for %s. For at vi skal kunne behandle søknaden om %s, må inntektsmeldingen sendes inn så raskt som mulig.";
private static final String VARSEL_FRA_SAKSBEHANDLER_TEKST = "%s - orgnr %s: Vi har ennå ikke mottatt inntektsmelding. For at vi skal kunne behandle søknaden om %s, må inntektsmeldingen sendes inn så raskt som mulig.";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,6 @@ public ArbeidsgiverinitiertDialogRest(InntektsmeldingTjeneste inntektsmeldingTje
public Response hentArbeidsforhold(@Valid @NotNull OpplysningerRequestDto request) {
LOG.info("Henter opplysninger for søker {}", request.fødselsnummer());
var dto = inntektsmeldingTjeneste.finnArbeidsforholdForFnr(request.fødselsnummer(), request.ytelseType());
return dto.map(d ->Response.ok(d).build()).orElseGet(() ->Response.noContent().build());
return dto.map(d ->Response.ok(d).build()).orElseGet(() -> Response.status(Response.Status.NOT_FOUND).build());
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package no.nav.familie.inntektsmelding.imdialog.rest;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;

import java.util.List;

public record SlåOppArbeidstakerResponseDto(String fornavn, String mellomnavn, String etternavn, List<ArbeidsforholdDto> arbeidsforhold) {
public record ArbeidsforholdDto(String organisasjonsnavn, String organisasjonsnummer) {}
public record SlåOppArbeidstakerResponseDto(@NotNull String fornavn, String mellomnavn, @NotNull String etternavn, @NotNull @Valid List<ArbeidsforholdDto> arbeidsforhold) {
public record ArbeidsforholdDto(@NotNull String organisasjonsnavn, @NotNull String organisasjonsnummer) {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ private InntektsmeldingDialogDto.PersonInfoResponseDto lagPersonDto(Forespørsel
return Optional.empty();
}
// TODO Må vi her slå opp med en spesifikk dato eller kan vi få ut alle og filtrere senere?
var arbeidsforholdBrukerHarTilgangTil = arbeidstakerTjeneste.finnArbeidsforholdForFnrMedTilgang(fødselsnummer);
var arbeidsforholdBrukerHarTilgangTil = arbeidstakerTjeneste.finnArbeidsforholdInnsenderHarTilgangTil(fødselsnummer);
if (arbeidsforholdBrukerHarTilgangTil.isEmpty()) {
return Optional.empty();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;

import no.nav.familie.inntektsmelding.integrasjoner.aareg.dto.PeriodeDto;

import no.nav.familie.inntektsmelding.integrasjoner.person.PersonInfo;
import no.nav.familie.inntektsmelding.integrasjoner.person.PersonTjeneste;

import no.nav.familie.inntektsmelding.integrasjoner.person.PersonTjeneste;
Expand Down Expand Up @@ -71,8 +68,9 @@ public RefusjonOmsorgsdagerArbeidsgiverRest(ArbeidstakerTjeneste arbeidstakerTje

LOG.info("Slår opp arbeidstaker med fødselsnummer {}", slåOppArbeidstakerRequestDto.fødselsnummer());

var dto = arbeidstakerTjeneste.slåOppArbeidstaker(slåOppArbeidstakerDto.fødselsnummer(), slåOppArbeidstakerDto.ytelseType());
if (dto == null) {
var arbeidsforhold = arbeidstakerTjeneste.finnArbeidsforholdInnsenderHarTilgangTil(slåOppArbeidstakerDto.fødselsnummer());
var personInfo = personTjeneste.hentPersonFraIdent(slåOppArbeidstakerDto.fødselsnummer(), slåOppArbeidstakerDto.ytelseType());
if (arbeidsforhold.isEmpty() || personInfo == null) {
return Response.status(Response.Status.NOT_FOUND).build();
}
var dto = new SlåOppArbeidstakerResponseDto(personInfo.fornavn(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public ArbeidsforholdTjeneste(AaregRestKlient aaregRestKlient) {
}
LOG.info("Fant {} arbeidsforhold for ident {}.", aaregInfo.size(), ident.getIdent());
return aaregInfo.stream()
.filter(arb -> arb.arbeidsgiver().type().equals(OpplysningspliktigArbeidsgiverDto.Type.ORGANISASJON)) // Vi skal aldri behandle private arbeidsforhold i ftinntektsmelding
.filter(arb -> OpplysningspliktigArbeidsgiverDto.Type.ORGANISASJON.equals(arb.arbeidsgiver().type())) // Vi skal aldri behandle private arbeidsforhold i ftinntektsmelding
.map(arbeidsforhold -> new ArbeidsforholdDto(
arbeidsforhold.arbeidsgiver().organisasjonsnummer(),
arbeidsforhold.arbeidsforholdId()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public ArbeidstakerTjeneste(ArbeidsforholdTjeneste arbeidsforholdTjeneste, Altin
this.altinnTilgangTjeneste = altinnTilgangTjeneste;
}

public List<ArbeidsforholdDto> finnArbeidsforholdForFnrMedTilgang(PersonIdent ident) {
public List<ArbeidsforholdDto> finnArbeidsforholdInnsenderHarTilgangTil(PersonIdent ident) {
var alleArbeidsforhold = arbeidsforholdTjeneste.hentNåværendeArbeidsforhold(ident);
LOG.info("Fant {} arbeidsforhold i Aa-registeret for {}", alleArbeidsforhold.size(), ident);

Expand All @@ -40,16 +40,16 @@ public List<ArbeidsforholdDto> finnArbeidsforholdForFnrMedTilgang(PersonIdent id
return Collections.emptyList();
}

var arbeidsforholdBrukerHarTilgangTil = alleArbeidsforhold
var arbeidsforholdInnsenderHarTilgangTil = alleArbeidsforhold
.stream()
.filter(dto -> altinnTilgangTjeneste.harTilgangTilBedriften(dto.organisasjonsnummer()))
.toList();

if (alleArbeidsforhold.size() > arbeidsforholdBrukerHarTilgangTil.size()) {
LOG.info("Bruker har tilgang til {} av {} arbeidsforhold for {}", arbeidsforholdBrukerHarTilgangTil.size(), alleArbeidsforhold.size(), ident);
if (alleArbeidsforhold.size() > arbeidsforholdInnsenderHarTilgangTil.size()) {
LOG.info("Innsender har tilgang til {} av {} arbeidsforhold for {}", arbeidsforholdInnsenderHarTilgangTil.size(), alleArbeidsforhold.size(), ident);
}

LOG.info("Returnerer informasjon om arbeidstaker og arbeidsforhold for {}", ident);
return arbeidsforholdBrukerHarTilgangTil;
LOG.info("Returnerer informasjon om arbeidsforhold for {}", ident);
return arbeidsforholdInnsenderHarTilgangTil;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

/**
* Vi ønsker ikke eksponere detaljerte feilmeldinger frontend. Vi spesialbehandler tilgangsmangel, ellers får alle en generell melding om serverfeil.
* Legger alltid ved callId så frontend kan vise denne og vi kan finne den igjen i loggene hvis organisasjonsnummer melder den inn.
* Legger alltid ved callId så frontend kan vise denne og vi kan finne den igjen i loggene hvis arbeidsgiver melder den inn.
*/
@Provider
public class GeneralRestExceptionMapper implements ExceptionMapper<Throwable> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

import no.nav.familie.inntektsmelding.integrasjoner.inntektskomponent.Inntektsopplysninger;
import no.nav.familie.inntektsmelding.koder.ForespørselStatus;
import no.nav.familie.inntektsmelding.pip.AltinnTilgangTjeneste;
import no.nav.familie.inntektsmelding.refusjonomsorgsdagerarbeidsgiver.rest.ArbeidsforholdDto;
import no.nav.familie.inntektsmelding.refusjonomsorgsdagerarbeidsgiver.tjenester.ArbeidstakerTjeneste;
import no.nav.familie.inntektsmelding.typer.dto.AktørIdDto;
Expand Down Expand Up @@ -224,7 +223,7 @@ void skal_hente_arbeidsforhold_gitt_fnr() {
when(personTjeneste.hentPersonFraIdent(fnr, Ytelsetype.FORELDREPENGER)).thenReturn(
new PersonInfo("Navn", null, "Navnesen", new PersonIdent("12121212122"), aktørId, LocalDate.now(), null));
var orgnr = "999999999";
when(arbeidstakerTjeneste.finnArbeidsforholdForFnrMedTilgang(fnr)).thenReturn(List.of(new ArbeidsforholdDto(orgnr, "ARB-001")));
when(arbeidstakerTjeneste.finnArbeidsforholdInnsenderHarTilgangTil(fnr)).thenReturn(List.of(new ArbeidsforholdDto(orgnr, "ARB-001")));
when(organisasjonTjeneste.finnOrganisasjon(orgnr)).thenReturn(new Organisasjon("Bedriften", orgnr));
// Act
var response = inntektsmeldingTjeneste.finnArbeidsforholdForFnr(fnr, Ytelsetype.FORELDREPENGER).orElse(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,13 @@ void setUp() {
var arbeidstakerInfo = new SlåOppArbeidstakerResponseDto("fornavn", "mellomnavn", "etternavn", arbeidsforhold);

when(personTjenesteMock.hentPersonFraIdent(fnr, Ytelsetype.OMSORGSPENGER)).thenReturn(new PersonInfo("fornavn", "mellomnavn", "etternavn", fnr, null, LocalDate.now(), null));
when(arbeidstakerTjenesteMock.finnArbeidsforholdForFnrMedTilgang(fnr)).thenReturn(arbeidsforhold);
when(arbeidstakerTjenesteMock.finnArbeidsforholdInnsenderHarTilgangTil(fnr)).thenReturn(arbeidsforhold);

var response = rest.slåOppArbeidstaker(dto);

assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
assertEquals(arbeidstakerInfo, response.getEntity());
verify(arbeidstakerTjenesteMock).finnArbeidsforholdForFnrMedTilgang(fnr);
verify(arbeidstakerTjenesteMock).finnArbeidsforholdInnsenderHarTilgangTil(fnr);
}

@Test
Expand All @@ -71,7 +71,7 @@ void setUp() {
var response = rest.slåOppArbeidstaker(dto);

assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
verify(arbeidstakerTjenesteMock).finnArbeidsforholdForFnrMedTilgang(fnr);
verify(arbeidstakerTjenesteMock).finnArbeidsforholdInnsenderHarTilgangTil(fnr);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when;

import java.time.LocalDate;
import java.util.List;

import org.junit.jupiter.api.BeforeEach;
Expand All @@ -14,12 +13,8 @@
import org.mockito.junit.jupiter.MockitoExtension;

import no.nav.familie.inntektsmelding.integrasjoner.person.PersonIdent;
import no.nav.familie.inntektsmelding.integrasjoner.person.PersonInfo;
import no.nav.familie.inntektsmelding.integrasjoner.person.PersonTjeneste;
import no.nav.familie.inntektsmelding.koder.Ytelsetype;
import no.nav.familie.inntektsmelding.pip.AltinnTilgangTjeneste;
import no.nav.familie.inntektsmelding.refusjonomsorgsdagerarbeidsgiver.rest.ArbeidsforholdDto;
import no.nav.familie.inntektsmelding.typer.entitet.AktørIdEntitet;

@ExtendWith(MockitoExtension.class)
class ArbeidstakerTjenesteTest {
Expand All @@ -46,7 +41,7 @@ void returnerer_arbeidstakerinfo_om_dette_finnes() {
);
when(altinnTilgangTjenesteMock.harTilgangTilBedriften(any())).thenReturn(true);

var resultat = arbeidstakerTjeneste.finnArbeidsforholdForFnrMedTilgang(TILFELDIG_PERSON_IDENT);
var resultat = arbeidstakerTjeneste.finnArbeidsforholdInnsenderHarTilgangTil(TILFELDIG_PERSON_IDENT);
assertThat(resultat).isNotNull();
assertThat(resultat.size()).isEqualTo(1);

Expand All @@ -61,7 +56,7 @@ void verifiserer_arbeidsforhold_detaljer() {
List.of(new ArbeidsforholdDto("00000000", "123456789")));
when(altinnTilgangTjenesteMock.harTilgangTilBedriften(any())).thenReturn(true);

var resultat = arbeidstakerTjeneste.finnArbeidsforholdForFnrMedTilgang(TILFELDIG_PERSON_IDENT);
var resultat = arbeidstakerTjeneste.finnArbeidsforholdInnsenderHarTilgangTil(TILFELDIG_PERSON_IDENT);

assertThat(resultat.size()).isEqualTo(1);
var arbeidsforhold = resultat.get(0);
Expand All @@ -81,7 +76,7 @@ void filtrerer_ut_arbeidsforhold_man_ikke_har_tilgang_til() {
when(altinnTilgangTjenesteMock.harTilgangTilBedriften("00000000")).thenReturn(false);
when(altinnTilgangTjenesteMock.harTilgangTilBedriften("00000001")).thenReturn(true);

var resultat = arbeidstakerTjeneste.finnArbeidsforholdForFnrMedTilgang(TILFELDIG_PERSON_IDENT);
var resultat = arbeidstakerTjeneste.finnArbeidsforholdInnsenderHarTilgangTil(TILFELDIG_PERSON_IDENT);

assertThat(resultat.size()).isEqualTo(1);
var arbeidsforhold = resultat.getFirst();
Expand Down

0 comments on commit bb796ab

Please sign in to comment.