Search in sources :

Example 6 with GraphQlSetup

use of org.springframework.graphql.GraphQlSetup in project spring-graphql by spring-projects.

the class QuerydslDataFetcherTests method shouldReactivelyFetchSingleItems.

@Test
void shouldReactivelyFetchSingleItems() {
    ReactiveMockRepository mockRepository = mock(ReactiveMockRepository.class);
    Book book = new Book(42L, "Hitchhiker's Guide to the Galaxy", new Author(0L, "Douglas", "Adams"));
    when(mockRepository.findBy(any(), any())).thenReturn(Mono.just(book));
    Consumer<GraphQlSetup> tester = setup -> {
        Mono<WebOutput> outputMono = setup.toWebGraphQlHandler().handleRequest(input("{ bookById(id: 1) {name}}"));
        Book actualBook = GraphQlResponse.from(outputMono).toEntity("bookById", Book.class);
        assertThat(actualBook.getName()).isEqualTo(book.getName());
    };
    // explicit wiring
    tester.accept(graphQlSetup("bookById", QuerydslDataFetcher.builder(mockRepository).single()));
    // auto registration
    tester.accept(graphQlSetup(mockRepository));
}
Also used : Arrays(java.util.Arrays) GraphQlRepository(org.springframework.graphql.data.GraphQlRepository) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) BookSource(org.springframework.graphql.BookSource) GraphQlSetup(org.springframework.graphql.GraphQlSetup) WebOutput(org.springframework.graphql.web.WebOutput) CrudRepository(org.springframework.data.repository.CrudRepository) ReactiveQuerydslPredicateExecutor(org.springframework.data.querydsl.ReactiveQuerydslPredicateExecutor) Value(org.springframework.beans.factory.annotation.Value) Author(org.springframework.graphql.Author) ArgumentCaptor(org.mockito.ArgumentCaptor) Repository(org.springframework.data.repository.Repository) KeyValueRepositoryFactory(org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactory) DataFetcher(graphql.schema.DataFetcher) Nullable(org.springframework.lang.Nullable) URI(java.net.URI) GraphQlResponse(org.springframework.graphql.GraphQlResponse) QuerydslPredicateExecutor(org.springframework.data.querydsl.QuerydslPredicateExecutor) WebGraphQlHandler(org.springframework.graphql.web.WebGraphQlHandler) RuntimeWiringConfigurer(org.springframework.graphql.execution.RuntimeWiringConfigurer) QuerydslBinderCustomizer(org.springframework.data.querydsl.binding.QuerydslBinderCustomizer) HttpHeaders(org.springframework.http.HttpHeaders) Mono(reactor.core.publisher.Mono) MapKeyValueAdapter(org.springframework.data.map.MapKeyValueAdapter) Mockito.when(org.mockito.Mockito.when) Collectors(java.util.stream.Collectors) Mockito.verify(org.mockito.Mockito.verify) Consumer(java.util.function.Consumer) Test(org.junit.jupiter.api.Test) Flux(reactor.core.publisher.Flux) List(java.util.List) WebInput(org.springframework.graphql.web.WebInput) KeyValueTemplate(org.springframework.data.keyvalue.core.KeyValueTemplate) Optional(java.util.Optional) Predicate(com.querydsl.core.types.Predicate) Mockito.any(org.mockito.Mockito.any) Collections(java.util.Collections) QuerydslBindings(org.springframework.data.querydsl.binding.QuerydslBindings) Mockito.mock(org.mockito.Mockito.mock) GraphQlSetup(org.springframework.graphql.GraphQlSetup) Mono(reactor.core.publisher.Mono) Author(org.springframework.graphql.Author) Test(org.junit.jupiter.api.Test)

Aggregations

Predicate (com.querydsl.core.types.Predicate)6 DataFetcher (graphql.schema.DataFetcher)6 URI (java.net.URI)6 Arrays (java.util.Arrays)6 Collections (java.util.Collections)6 List (java.util.List)6 Optional (java.util.Optional)6 Consumer (java.util.function.Consumer)6 Collectors (java.util.stream.Collectors)6 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)6 Test (org.junit.jupiter.api.Test)6 ArgumentCaptor (org.mockito.ArgumentCaptor)6 Mockito.any (org.mockito.Mockito.any)6 Mockito.mock (org.mockito.Mockito.mock)6 Mockito.verify (org.mockito.Mockito.verify)6 Mockito.when (org.mockito.Mockito.when)6 Value (org.springframework.beans.factory.annotation.Value)6 KeyValueTemplate (org.springframework.data.keyvalue.core.KeyValueTemplate)6 KeyValueRepositoryFactory (org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactory)6 MapKeyValueAdapter (org.springframework.data.map.MapKeyValueAdapter)6