From 57911b21cd2d4412ec8907fdc5aa096131c7d2ec Mon Sep 17 00:00:00 2001 From: JeremiahUy Date: Wed, 29 Nov 2023 11:54:05 +0100 Subject: [PATCH] ADD: test for stats field resolver for etterlevelse dokumentasjon --- .../EtterlevelseDokumentasjonGraphQIIT.java | 72 +++++++++++++++++++ ...tats_for_etterlevelseDokumentasjon.graphql | 18 +++++ 2 files changed, 90 insertions(+) create mode 100644 apps/backend/src/test/java/no/nav/data/etterlevelse/etterlevelseDokumentasjon/EtterlevelseDokumentasjonGraphQIIT.java create mode 100644 apps/backend/src/test/resources/graphqltest/stats_for_etterlevelseDokumentasjon.graphql diff --git a/apps/backend/src/test/java/no/nav/data/etterlevelse/etterlevelseDokumentasjon/EtterlevelseDokumentasjonGraphQIIT.java b/apps/backend/src/test/java/no/nav/data/etterlevelse/etterlevelseDokumentasjon/EtterlevelseDokumentasjonGraphQIIT.java new file mode 100644 index 000000000..4ae2dc4e0 --- /dev/null +++ b/apps/backend/src/test/java/no/nav/data/etterlevelse/etterlevelseDokumentasjon/EtterlevelseDokumentasjonGraphQIIT.java @@ -0,0 +1,72 @@ +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.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 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) + .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[0].etterlevelser", 1); + } + } +} diff --git a/apps/backend/src/test/resources/graphqltest/stats_for_etterlevelseDokumentasjon.graphql b/apps/backend/src/test/resources/graphqltest/stats_for_etterlevelseDokumentasjon.graphql new file mode 100644 index 000000000..1612f0312 --- /dev/null +++ b/apps/backend/src/test/resources/graphqltest/stats_for_etterlevelseDokumentasjon.graphql @@ -0,0 +1,18 @@ +query getEtterlevelseDokumentasjonStats($etterlevelseDokumentasjonId: ID) { + etterlevelseDokumentasjon(filter: { id: $etterlevelseDokumentasjonId }) { + content { + stats { + ikkeFyltKrav { + kravNummer + kravVersjon + navn + aktivertDato + etterlevelser(etterlevelseDokumentasjonId: $etterlevelseDokumentasjonId) { + etterlevelseDokumentasjonId + id + } + } + } + } + } +} \ No newline at end of file