Skip to content

Commit

Permalink
Legg til henting av eier for aktivitetskort
Browse files Browse the repository at this point in the history
  • Loading branch information
moroministeren authored and madsleegiil committed Nov 18, 2024
1 parent 9a22f42 commit 9629e7c
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,14 @@ class AktivitetskortController(
.let { AktivitetDTOMapper.mapTilAktivitetDTO(it, erEksternBruker) }
}

@QueryMapping
fun eier(@Argument aktivitetId: Long): Eier {
val eksternBrukerId = ownerProvider.getOwner(aktivitetId.toString())
?: throw ResponseStatusException(HttpStatus.BAD_REQUEST, "No owner found for aktivitetId")
authService.sjekkTilgangTilPerson(eksternBrukerId, TilgangsType.LESE)
return Eier(eksternBrukerId.get())
}

@SchemaMapping(typeName="AktivitetDTO", field="historikk")
fun getHistorikk(aktivitet: AktivitetDTO): Historikk {
val aktivitetId = aktivitet.id.toLong()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ class Extension(val classification: String)

class QueryAktivitetsPerioder(
val perioder: List<OppfolgingsPeriode>? = emptyList(),
val aktivitet: AktivitetDTO? = null
val aktivitet: AktivitetDTO? = null,
val eier: Eier? = null
)

class Eier(
val fnr: String
)

class GraphqlResult(
Expand Down
5 changes: 5 additions & 0 deletions src/main/resources/graphql/schema.graphqls
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
type Query {
perioder(fnr: String!): [OppfolgingsPeriode]
aktivitet(aktivitetId: String): AktivitetDTO
eier(aktivitetId: String): Eier
}

type Eier {
fnr: String
}

type Historikk {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ public GraphqlResult queryAktivitetskort(MockBruker mockBruker, RestassuredUser
return response.as(GraphqlResult.class);
}

public GraphqlResult queryAktivitetskortMedID(MockBruker mockBruker, RestassuredUser user, String query, String aktivitetId, String fnr) {
public GraphqlResult queryHentEier(RestassuredUser user, String query, String aktivitetId) {
var validatableResponse = user
.createRequest()
.body("{ \"query\": \""+ query +"\", \"variables\": { \"fnr\": \"" + mockBruker.getFnr() + "\", \"aktivitetId\": \"" + aktivitetId + "\" } }")
.body("{ \"query\": \""+ query +"\", \"variables\": { \"aktivitetId\": \"" + aktivitetId + "\" } }")
.post("http://localhost:" + port + "/veilarbaktivitet/graphql")
.then();
var response = validatableResponse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,25 +146,25 @@ class AktivitetskortControllerTest: SpringBootTestBase() {
}

@Test
fun `skal returnere feil hvis bruker i kontekst ikke eier aktiviteten`() {
fun `skal kunne hente eier av aktivitetskort`() {
val nyPeriode = UUID.randomUUID()
val jobbAktivitet = AktivitetDtoTestBuilder.nyAktivitet(AktivitetTypeDTO.IJOBB)
.toBuilder().oppfolgingsperiodeId(nyPeriode).build()
val aktivitet = aktivitetTestService.opprettAktivitet(mockBruker, mockBruker, jobbAktivitet)
val aktivitetIdParam = "\$aktivitetId"
val annetFodselsnr = "15850299673"
val fnrParam = "\$fnr"
val query = """
query($aktivitetIdParam: String! , $fnrParam: String!) {
aktivitet(aktivitetId: $aktivitetIdParam, fnr: "$fnrParam") {
query($aktivitetIdParam: String!) {
aktivitet(aktivitetId: $aktivitetIdParam) {
tittel
},
eier(aktivitetId: $aktivitetIdParam) {
fnr
}
}
""".trimIndent().replace("\n", "")
val result = aktivitetTestService.queryAktivitetskortMedID(mockBruker ,mockVeileder , query, aktivitet.id, annetFodselsnr)
val result = aktivitetTestService.queryHentEier(mockVeileder , query, aktivitet.id)
assertThat(result.errors).isNull()
assertThat(result.data?.aktivitet?.historikk).isNotNull()
assertThat(result.data?.aktivitet?.historikk?.endringer).hasSize(2)
assertThat(result.data?.eier).isNotNull()
}

@Test
Expand Down

0 comments on commit 9629e7c

Please sign in to comment.