Skip to content
Snippets Groups Projects
Commit e3454a08 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-409 Make DataFetcher for Kommentar work

parent f18323ee
Branches
No related tags found
No related merge requests found
package de.itvsh.goofy.kommentar;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import graphql.schema.DataFetcher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Arrays;
......@@ -11,6 +14,9 @@ import java.util.Map;
@Component
public class GraphQLDataFetchers {
@Autowired
private KommentarService kommentarService;
private static List<Map<String, String>> books = Arrays.asList(
ImmutableMap.of("id", "book-1",
"name", "Harry Potter and the Philosopher's Stone",
......@@ -66,4 +72,17 @@ public class GraphQLDataFetchers {
return "Hello World";
};
}
public DataFetcher getKommentarDataFetcher() {
return dataFetchingEnvironment -> {
System.out.println("inside fetcher");
Kommentar kommentar = kommentarService.getById(dataFetchingEnvironment.getArgument("id"));
Map<String, String> kommentarAsMap = Map.of(
"id", kommentar.getId(),
"createdBy", kommentar.getCreatedBy(),
"createdByName", kommentar.getCreatedByName(),
"text", kommentar.getText());
return kommentarAsMap;
};
}
}
\ No newline at end of file
......@@ -47,12 +47,14 @@ public class GraphQLProvider {
private RuntimeWiring buildWiring() {
return RuntimeWiring.newRuntimeWiring()
/*.type(newTypeWiring("Query")
.type(newTypeWiring("Query")
.dataFetcher("bookById", graphQLDataFetchers.getBookByIdDataFetcher()))
.type(newTypeWiring("Book")
.dataFetcher("author", graphQLDataFetchers.getAuthorDataFetcher()))*/
.dataFetcher("author", graphQLDataFetchers.getAuthorDataFetcher()))
.type(newTypeWiring("Query")
.dataFetcher("greeting", graphQLDataFetchers.getGreetingDataFetcher()))
.type(newTypeWiring("Query")
.dataFetcher("kommentar", graphQLDataFetchers.getKommentarDataFetcher()))
.build();
}
}
\ No newline at end of file
type Query {
bookById(id: ID): Book
greeting: String
kommentar(id: ID): Kommentar
}
type Book {
id: ID
name: String
pageCount: Int
author: Author
}
type Author {
id: ID
firstName: String
lastName: String
}
type Kommentar {
id: ID
createdBy: String
createdByName: String
text: String
}
\ No newline at end of file
......@@ -25,6 +25,8 @@ import de.itvsh.goofy.common.command.CommandOrder;
import de.itvsh.goofy.kommentar.KommentarCommandController.KommentarCommandByVorgangController;
import de.itvsh.goofy.vorgang.VorgangHeaderTestFactory;
import java.net.URI;
@AutoConfigureMockMvc
@SpringBootTest
@WithMockUser
......@@ -51,6 +53,19 @@ class KommentarCommandITCase {
verify(remoteService).sendKommentarCommand(eq(KommentarTestFactory.ID), any());
}
@WithMockUser
@Nested
class TestEndpoint {
@Test
void createCommandWithInvalidText() throws Exception {
ResultActions resultActions = mockMvc.perform(get(new URI("/api/kommentars/636fbb1b-3f77-4aac-8480-fdf0e2d52d9e")))
.andExpect(status().is2xxSuccessful());
System.out.println(resultActions.andReturn().getResponse().getStatus());
}
}
@WithMockUser
@DisplayName("should return validation error")
@Nested
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment