Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
JeremiahUy committed Nov 29, 2023
2 parents 97f537f + 829be7c commit 4aac75c
Show file tree
Hide file tree
Showing 6 changed files with 124 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ public LocalDateTime sistEndretDokumentasjon(EtterlevelseDokumentasjonResponse e

public EtterlevelseDokumentasjonStats stats(EtterlevelseDokumentasjonResponse etterlevelseDokumentasjon) {

List<Etterlevelse> etterlevelseList = etterlevelseService.getByEtterlevelseDokumentasjon(etterlevelseDokumentasjon.getId().toString());

List<KravResponse> krav;
List<KravResponse> irrelevantKrav;

Expand All @@ -78,9 +80,7 @@ public EtterlevelseDokumentasjonStats stats(EtterlevelseDokumentasjonResponse et
}

krav.forEach(k -> {
if (k.getEtterlevelser() != null && !k.getEtterlevelser().isEmpty()) {
k.setEtterlevelser(k.getEtterlevelser().stream().filter(e -> e.getEtterlevelseDokumentasjonId().equals(etterlevelseDokumentasjon.getId().toString())).toList());
}
k.setEtterlevelser(etterlevelseList.stream().filter(e -> e.getKravNummer().equals(k.getKravNummer()) && e.getKravVersjon().equals(k.getKravVersjon())).map(Etterlevelse::toResponse).toList());
});

var fylt = krav.stream().filter(k -> k.getEtterlevelser() != null && !k.getEtterlevelser().isEmpty() && k.getStatus().equals(KravStatus.AKTIV) ).toList();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,18 @@ public class KravFieldResolver implements GraphQLResolver<KravResponse> {
private final KravService kravService;
private final KravPrioriteringService kravPrioriteringService;

public List<EtterlevelseResponse> etterlevelser(KravResponse krav, boolean onlyForEtterlevelseDokumentasjon, DataFetchingEnvironment env) {
public List<EtterlevelseResponse> etterlevelser(KravResponse krav, boolean onlyForEtterlevelseDokumentasjon, UUID etterlevelseDokumentasjonId, DataFetchingEnvironment env) {
Integer nummer = krav.getKravNummer();
Integer versjon = krav.getKravVersjon();
log.info("etterlevelse for krav {}.{}", nummer, versjon);

var etterlevelser = etterlevelseService.getByKravNummer(nummer, versjon);

if (onlyForEtterlevelseDokumentasjon) {
String etterlevelseDokumentasjonId = KravFilter.get(env, Fields.etterlevelseDokumentasjonId);
if(etterlevelseDokumentasjonId != null) {
etterlevelser = filter(etterlevelser, e -> etterlevelseDokumentasjonId.equals(e.getEtterlevelseDokumentasjonId()));
if (onlyForEtterlevelseDokumentasjon || etterlevelseDokumentasjonId != null) {
String dokumentasjonId = etterlevelseDokumentasjonId != null ? etterlevelseDokumentasjonId.toString() : KravFilter.get(env, Fields.etterlevelseDokumentasjonId);

if(dokumentasjonId != null) {
etterlevelser = filter(etterlevelser, e -> dokumentasjonId.equals(e.getEtterlevelseDokumentasjonId()));
}
}

Expand Down
2 changes: 1 addition & 1 deletion apps/backend/src/main/resources/graphql/types.graphqls
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ type Krav {
status: KravStatus!
prioriteringsId: String!

etterlevelser(onlyForEtterlevelseDokumentasjon: Boolean): [Etterlevelse!]!
etterlevelser(onlyForEtterlevelseDokumentasjon: Boolean, etterlevelseDokumentasjonId: ID): [Etterlevelse!]!
tilbakemeldinger: [Tilbakemelding!]!
begreper: [Begrep!]!
virkemidler: [Virkemiddel!]!
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package no.nav.data.etterlevelse.etterlevelseDokumentasjon;

import lombok.SneakyThrows;
import no.nav.data.TestConfig.MockFilter;
import no.nav.data.etterlevelse.etterlevelse.domain.Etterlevelse;
import no.nav.data.etterlevelse.etterlevelseDokumentasjon.domain.EtterlevelseDokumentasjon;
import no.nav.data.etterlevelse.etterlevelseDokumentasjon.dto.EtterlevelseDokumentasjonRequest;
import no.nav.data.etterlevelse.krav.domain.Krav;
import no.nav.data.etterlevelse.krav.domain.KravStatus;
import no.nav.data.graphql.GraphQLTestBase;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import java.util.List;
import java.util.Map;

import static no.nav.data.graphql.GraphQLAssert.assertThat;

public class EtterlevelseDokumentasjonGraphQIIT extends GraphQLTestBase {

private EtterlevelseDokumentasjon generateEtterlevelseDok(List<String> irrelevans) {
return etterlevelseDokumentasjonService.save(
EtterlevelseDokumentasjonRequest.builder()
.title("test dokumentasjon")
.etterlevelseNummer(101)
.knyttetTilVirkemiddel(false)
.virkemiddelId("")
.knytteTilTeam(false)
.teams(List.of(""))
.irrelevansFor(irrelevans)
.update(false)
.behandlerPersonopplysninger(true)
.behandlingIds(List.of(""))
.build()
);
}

@BeforeEach
void setUp() {
MockFilter.setUser(MockFilter.KRAVEIER);
}

@Nested
class EtterlevelseDokumentasjonFilter {
@Test
@SneakyThrows
void statsForEtterlevelseDokOnlyRelevenatEtterlevelse() {

EtterlevelseDokumentasjon etterlevelseDokumentasjon = generateEtterlevelseDok(List.of("INNSYN"));

storageService.save(Krav.builder()
.navn("Krav 1").kravNummer(50).kravVersjon(1)
.status(KravStatus.AKTIV)
.relevansFor(List.of("SAK"))
.build());
storageService.save(Krav.builder()
.navn("Krav 2").kravNummer(51).kravVersjon(1)
.status(KravStatus.AKTIV)
.relevansFor(List.of("SAK"))
.build());

storageService.save(Etterlevelse.builder()
.kravNummer(50).kravVersjon(1)
.etterlevelseDokumentasjonId(String.valueOf(etterlevelseDokumentasjon.getId()))
.build());
storageService.save(Etterlevelse.builder()
.kravNummer(50).kravVersjon(1)
.build());

var var = Map.of("etterlevelseDokumentasjonId",String.valueOf(etterlevelseDokumentasjon.getId()));
var response = graphQLTestTemplate.perform("graphqltest/stats_for_etterlevelseDokumentasjon.graphql", vars(var));
System.out.println(response);
assertThat(response, "etterlevelseDokumentasjon")
.hasNoErrors()
.hasSize("content", 1)
.hasSize("content[0].stats.ikkeFyltKrav", 1)
.hasSize("content[0].stats.fyltKrav", 1)
.hasSize("content[0].stats.fyltKrav[0].etterlevelser", 1);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
query getEtterlevelseDokumentasjonStats($etterlevelseDokumentasjonId: ID) {
etterlevelseDokumentasjon(filter: { id: $etterlevelseDokumentasjonId }) {
content {
stats {
fyltKrav {
kravNummer
kravVersjon
navn
aktivertDato
etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) {
etterlevelseDokumentasjonId
id
}
}
ikkeFyltKrav {
kravNummer
kravVersjon
navn
aktivertDato
etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) {
etterlevelseDokumentasjonId
id
}
}
}
}
}
}
8 changes: 4 additions & 4 deletions apps/frontend/src/pages/DokumentasjonPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ export const statsQuery = gql`
navn
status
aktivertDato
etterlevelser(onlyForEtterlevelseDokumentasjon: true) {
etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) {
status
etterlevelseDokumentasjonId
fristForFerdigstillelse
Expand Down Expand Up @@ -406,7 +406,7 @@ export const statsQuery = gql`
navn
status
aktivertDato
etterlevelser(onlyForEtterlevelseDokumentasjon: true) {
etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) {
status
etterlevelseDokumentasjonId
fristForFerdigstillelse
Expand Down Expand Up @@ -434,7 +434,7 @@ export const statsQuery = gql`
navn
status
aktivertDato
etterlevelser(onlyForEtterlevelseDokumentasjon: true) {
etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) {
status
etterlevelseDokumentasjonId
fristForFerdigstillelse
Expand Down Expand Up @@ -462,7 +462,7 @@ export const statsQuery = gql`
navn
status
aktivertDato
etterlevelser(onlyForEtterlevelseDokumentasjon: true) {
etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) {
behandlingId
status
etterlevelseDokumentasjonId
Expand Down

0 comments on commit 4aac75c

Please sign in to comment.