Browse Source
Graphql query by ids (#986 )
* Improve handling of default values.
* Open Api fixes and parent id.
* Query by IDs
* Introspection fixes.
* Rename field.
* New test for data__dynamic.
* Fix tests
pull/987/head
Sebastian Stehle
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
30 additions and
7 deletions
backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/ApplicationQueries.cs
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/GraphQLQueriesTests.cs
tools/TestSuite/TestSuite.ApiTests/GraphQLTests.cs
@ -86,7 +86,7 @@ internal sealed class ApplicationQueries : ObjectGraphType
AddField ( new FieldType
{
Name = "queryContents" ,
Name = "queryContentsByIds " ,
Arguments = ContentActions . QueryByIds . Arguments ,
ResolvedType = new NonNullGraphType ( new ListGraphType ( new NonNullGraphType ( unionType ) ) ) ,
Resolver = ContentActions . QueryByIds . Resolver ,
@ -86,7 +86,7 @@ public class GraphQLQueriesTests : GraphQLTestBase
var query = CreateQuery ( @ "
query {
queryContents ( ids : [ "" < ID > "" ] ) {
queryContentsByIds ( ids : [ "" < ID > "" ] ) {
. . . on Content {
id
}
@ -109,7 +109,7 @@ public class GraphQLQueriesTests : GraphQLTestBase
{
data = new
{
queryContents = new [ ]
queryContentsByIds = new [ ]
{
new
{
@ -134,7 +134,7 @@ public class GraphQLQueriesTests : GraphQLTestBase
var query = CreateQuery ( @ "
query {
queryContents ( ids : [ "" < ID > "" ] ) {
queryContentsByIds ( ids : [ "" < ID > "" ] ) {
. . . on Content {
data : data__dynamic
}
@ -152,7 +152,7 @@ public class GraphQLQueriesTests : GraphQLTestBase
{
data = new
{
queryContents = new [ ]
queryContentsByIds = new [ ]
{
new
{
@ -227,6 +227,29 @@ public sealed class GraphQLTests : IClassFixture<GraphQLFixture>
Assert . Equal ( new [ ] { "Saxony" } , stateNames ) ;
}
[Fact]
public async Task Should_query_dynamic_data ( )
{
var query = new
{
query = @ "
{
cities : queryCitiesContents {
data__dynamic
}
} "
} ;
var result = await _. Client . SharedDynamicContents . GraphQlAsync < JToken > ( query ) ;
var cityNames =
result [ "cities" ]
. Select ( x = > x [ "data__dynamic" ] [ "name" ] [ "iv" ] . Value < string > ( ) )
. Order ( ) ;
Assert . Equal ( new [ ] { "Leipzig" , "Munich" } , cityNames ) ;
}
[Fact]
public async Task Should_query_correct_content_type_for_graphql ( )
{
@ -260,7 +283,7 @@ public sealed class GraphQLTests : IClassFixture<GraphQLFixture>
{
query = @ "
query ContentsQuery ( $ ids : [ String ! ] ! ) {
queryContents ( ids : $ ids ) {
queryContentsByIds ( ids : $ ids ) {
. . . on Content {
id
}
@ -285,7 +308,7 @@ public sealed class GraphQLTests : IClassFixture<GraphQLFixture>
var result = await _. Client . SharedDynamicContents . GraphQlAsync < JToken > ( query ) ;
var names =
result [ "queryContents" ]
result [ "queryContentsByIds " ]
. Select ( x = > x [ "data" ] [ "name" ] . Value < string > ( ) )
. Order ( ) ;