use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.
the class ApolloTest method updateProducts.
@Test
public void updateProducts() {
ApolloClient client = getApolloClient("/graphql/" + keyspace);
String productId = UUID.randomUUID().toString();
ProductsInput insertInput = ProductsInput.builder().id(productId).name("Shiny Legs").price("3199.99").created(now()).description("Normal legs but shiny.").build();
insertProduct(client, insertInput);
ProductsInput input = ProductsInput.builder().id(productId).name(insertInput.name()).price(insertInput.price()).created(insertInput.created()).description("Normal legs but shiny. Now available in different colors").build();
UpdateProductsMutation mutation = UpdateProductsMutation.builder().value(input).build();
UpdateProductsMutation.Data result = getObservable(client.mutate(mutation));
assertThat(result.getUpdateProducts()).hasValueSatisfying(updateProducts -> {
assertThat(updateProducts.getApplied()).hasValue(true);
assertThat(updateProducts.getValue()).hasValueSatisfying(product -> {
assertThat(product.getId()).hasValue(productId);
assertThat(product.getName()).hasValue(input.name());
assertThat(product.getPrice()).hasValue(input.price());
assertThat(product.getCreated()).hasValue(input.created());
assertThat(product.getDescription()).hasValue(input.description());
});
});
GetProductsWithFilterQuery.Value product = getProduct(client, productId);
assertThat(product.getId()).hasValue(productId);
assertThat(product.getName()).hasValue(input.name());
assertThat(product.getPrice()).hasValue(input.price());
assertThat(product.getCreated()).hasValue(input.created());
assertThat(product.getDescription()).hasValue(input.description());
}
use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.
the class ApolloTest method getOrdersByValue.
@Test
public void getOrdersByValue() throws ExecutionException, InterruptedException {
ApolloClient client = getApolloClient("/graphql/" + keyspace);
OrdersInput ordersInput = OrdersInput.builder().prodName("Medium Lift Arms").build();
GetOrdersByValueQuery query = GetOrdersByValueQuery.builder().value(ordersInput).build();
CompletableFuture<GetOrdersByValueQuery.Data> future = new CompletableFuture<>();
ApolloQueryCall<Optional<GetOrdersByValueQuery.Data>> observable = client.query(query);
observable.enqueue(queryCallback(future));
GetOrdersByValueQuery.Data result = future.get();
observable.cancel();
assertThat(result.getOrders()).isPresent();
GetOrdersByValueQuery.Orders orders = result.getOrders().get();
assertThat(orders.getValues()).isPresent();
List<GetOrdersByValueQuery.Value> valuesList = orders.getValues().get();
GetOrdersByValueQuery.Value value = valuesList.get(0);
assertThat(value.getId()).hasValue("792d0a56-bb46-4bc2-bc41-5f4a94a83da9");
assertThat(value.getProdId()).hasValue("31047029-2175-43ce-9fdd-b3d568b19bb2");
assertThat(value.getProdName()).hasValue("Medium Lift Arms");
assertThat(value.getCustomerName()).hasValue("Janice Evernathy");
assertThat(value.getAddress()).hasValue("2101 Everplace Ave 3116");
assertThat(value.getDescription()).hasValue("Ordering some more arms for my construction bot.");
assertThat(value.getPrice()).hasValue("3199.99");
assertThat(value.getSellPrice()).hasValue("3119.99");
}
use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.
the class ApolloTest method deleteProducts.
@Test
public void deleteProducts() {
ApolloClient client = getApolloClient("/graphql/" + keyspace);
String productId = UUID.randomUUID().toString();
ProductsInput insertInput = ProductsInput.builder().id(productId).name("Shiny Legs").price("3199.99").created(now()).description("Normal legs but shiny.").build();
insertProduct(client, insertInput);
DeleteProductsMutation mutation = DeleteProductsMutation.builder().value(ProductsInput.builder().id(productId).build()).build();
DeleteProductsMutation.Data result = getObservable(client.mutate(mutation));
assertThat(result.getDeleteProducts()).hasValueSatisfying(deleteProducts -> {
assertThat(deleteProducts.getApplied()).hasValue(true);
assertThat(deleteProducts.getValue()).hasValueSatisfying(product -> {
assertThat(product.getId()).hasValue(productId);
assertThat(product.getName()).isEmpty();
assertThat(product.getPrice()).isEmpty();
assertThat(product.getCreated()).isEmpty();
assertThat(product.getDescription()).isEmpty();
});
});
List<Value> remainingProductValues = getProductValues(client, productId);
assertThat(remainingProductValues).isEmpty();
}
use of com.example.graphql.client.betterbotz.products.GetProductsWithFilterQuery.Value in project stargate by stargate.
the class ApolloTest method queryWithPaging.
@Test
public void queryWithPaging() {
ApolloClient client = getApolloClient("/graphql/" + keyspace);
for (String name : Arrays.asList("a", "b", "c")) {
insertProduct(client, ProductsInput.builder().id(UUID.randomUUID().toString()).name(name).price("1.0").created(now()).build());
}
List<String> names = new ArrayList<>();
Optional<Products> products = Optional.empty();
do {
products = getProducts(client, 1, products.flatMap(r -> r.getPageState()));
products.ifPresent(p -> {
p.getValues().ifPresent(values -> {
for (Value value : values) {
value.getName().ifPresent(names::add);
}
});
});
} while (products.map(p -> p.getValues().map(v -> !v.isEmpty()).orElse(false)).orElse(// Continue if there are still values
false));
assertThat(names).containsExactlyInAnyOrder("a", "b", "c");
}
Aggregations