Closed
Description
When testing the response of a nested query it would be practical to perform assertions on a subpath.
To give an example;
graphqlClient.document(query).execute()
.path("addCartItemOptions.cart.id").isEqualTo(cartGlobalId)
.path("addCartItemOptions.cartItem.id").isEqualTo(cartItemGlobalId)
.path("addCartItemOptions.cartItem.options[0].productOption.name").isEqualTo(optionProduct1.name)
.path("addCartItemOptions.cartItem.options[0].quantity").isEqualTo(1)
.path("addCartItemOptions.cartItem.options[1].productOption.name").isEqualTo(optionProduct2.name)
.path("addCartItemOptions.cartItem.options[1].quantity").isEqualTo(2)
This is obviously very verbose, and thus it would like to propose an api where you traverse paths and can perform assertions on a "subpath";
graphqlClient.document(query).execute()
.path("addCartItemOptions.cart.id").isEqualTo(cartGlobalId)
.path("addCartItemOptions.cartItem") { sub ->
sub
.path("id").isEqualTo(cartItemGlobalId)
.path("options[0]") {
it
.path("productOption.name").isEqualTo(optionProduct1.name)
.path("quantity").isEqualTo(1)
}
.path("options[1].productOption.name").isEqualTo(optionProduct2.name)
.path("options[1].quantity").isEqualTo(2)
}