|
|
|
@ -187,9 +187,9 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var assetId = Guid.NewGuid(); |
|
|
|
var asset = CreateAsset(assetId); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findAsset(id: ""{assetId}"") {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findAsset(id: ""<ID>"") { |
|
|
|
id |
|
|
|
version |
|
|
|
created |
|
|
|
@ -209,8 +209,8 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
pixelHeight |
|
|
|
tags |
|
|
|
slug |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
}".Replace("<ID>", assetId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => assetQuery.FindAssetAsync(MatchsAssetContext(), assetId)) |
|
|
|
.Returns(asset); |
|
|
|
@ -372,12 +372,12 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
{ |
|
|
|
new |
|
|
|
{ |
|
|
|
nestedNumber = 1, |
|
|
|
nestedNumber = 10, |
|
|
|
nestedBoolean = true |
|
|
|
}, |
|
|
|
new |
|
|
|
{ |
|
|
|
nestedNumber = 2, |
|
|
|
nestedNumber = 20, |
|
|
|
nestedBoolean = false |
|
|
|
} |
|
|
|
} |
|
|
|
@ -518,15 +518,86 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
AssertResult(expected, result); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Should_return_single_content_with_duplicate_names() |
|
|
|
{ |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty); |
|
|
|
|
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
data { |
|
|
|
myNumber { |
|
|
|
iv |
|
|
|
} |
|
|
|
myNumber2 { |
|
|
|
iv |
|
|
|
} |
|
|
|
myArray { |
|
|
|
iv { |
|
|
|
nestedNumber |
|
|
|
nestedNumber2 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(context, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
data = new |
|
|
|
{ |
|
|
|
findMySchemaContent = new |
|
|
|
{ |
|
|
|
data = new |
|
|
|
{ |
|
|
|
myNumber = new |
|
|
|
{ |
|
|
|
iv = 1 |
|
|
|
}, |
|
|
|
myNumber2 = new |
|
|
|
{ |
|
|
|
iv = 2 |
|
|
|
}, |
|
|
|
myArray = new |
|
|
|
{ |
|
|
|
iv = new[] |
|
|
|
{ |
|
|
|
new |
|
|
|
{ |
|
|
|
nestedNumber = 10, |
|
|
|
nestedNumber2 = 11, |
|
|
|
}, |
|
|
|
new |
|
|
|
{ |
|
|
|
nestedNumber = 20, |
|
|
|
nestedNumber2 = 21, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
AssertResult(expected, result); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Should_return_single_content_when_finding_content() |
|
|
|
{ |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findMySchemaContent(id: ""{contentId}"") {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
id |
|
|
|
version |
|
|
|
created |
|
|
|
@ -535,34 +606,34 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
lastModifiedBy |
|
|
|
status |
|
|
|
url |
|
|
|
data {{ |
|
|
|
myString {{ |
|
|
|
data { |
|
|
|
myString { |
|
|
|
de |
|
|
|
}} |
|
|
|
myNumber {{ |
|
|
|
} |
|
|
|
myNumber { |
|
|
|
iv |
|
|
|
}} |
|
|
|
myBoolean {{ |
|
|
|
} |
|
|
|
myBoolean { |
|
|
|
iv |
|
|
|
}} |
|
|
|
myDatetime {{ |
|
|
|
} |
|
|
|
myDatetime { |
|
|
|
iv |
|
|
|
}} |
|
|
|
myJson {{ |
|
|
|
} |
|
|
|
myJson { |
|
|
|
iv |
|
|
|
}} |
|
|
|
myGeolocation {{ |
|
|
|
} |
|
|
|
myGeolocation { |
|
|
|
iv |
|
|
|
}} |
|
|
|
myTags {{ |
|
|
|
} |
|
|
|
myTags { |
|
|
|
iv |
|
|
|
}} |
|
|
|
myLocalized {{ |
|
|
|
} |
|
|
|
myLocalized { |
|
|
|
de_DE |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
@ -645,19 +716,19 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, contentRefId, Guid.Empty); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findMySchemaContent(id: ""{contentId}"") {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
id |
|
|
|
data {{ |
|
|
|
myReferences {{ |
|
|
|
iv {{ |
|
|
|
data { |
|
|
|
myReferences { |
|
|
|
iv { |
|
|
|
id |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
@ -703,19 +774,19 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, assetRefId); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findMySchemaContent(id: ""{contentId}"") {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
id |
|
|
|
data {{ |
|
|
|
myAssets {{ |
|
|
|
iv {{ |
|
|
|
data { |
|
|
|
myAssets { |
|
|
|
iv { |
|
|
|
id |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
@ -760,18 +831,18 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var asset1 = CreateAsset(assetId1); |
|
|
|
var asset2 = CreateAsset(assetId2); |
|
|
|
|
|
|
|
var query1 = $@"
|
|
|
|
query {{ |
|
|
|
findAsset(id: ""{assetId1}"") {{ |
|
|
|
var query1 = @"
|
|
|
|
query { |
|
|
|
findAsset(id: ""<ID>"") { |
|
|
|
id |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
var query2 = $@"
|
|
|
|
query {{ |
|
|
|
findAsset(id: ""{assetId2}"") {{ |
|
|
|
} |
|
|
|
}".Replace("<ID>", assetId1.ToString());
|
|
|
|
var query2 = @"
|
|
|
|
query { |
|
|
|
findAsset(id: ""<ID>"") { |
|
|
|
id |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
}".Replace("<ID>", assetId2.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => assetQuery.FindAssetAsync(MatchsAssetContext(), assetId1)) |
|
|
|
.Returns(asset1); |
|
|
|
@ -813,9 +884,9 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty, new NamedContentData()); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findMySchemaContent(id: ""{contentId}"") {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
id |
|
|
|
version |
|
|
|
created |
|
|
|
@ -823,13 +894,13 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
lastModified |
|
|
|
lastModifiedBy |
|
|
|
url |
|
|
|
data {{ |
|
|
|
myInvalid {{ |
|
|
|
data { |
|
|
|
myInvalid { |
|
|
|
iv |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
@ -855,19 +926,19 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty, null, dataDraft); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findMySchemaContent(id: ""{contentId}"") {{ |
|
|
|
dataDraft {{ |
|
|
|
myString {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
dataDraft { |
|
|
|
myString { |
|
|
|
de |
|
|
|
}} |
|
|
|
myNumber {{ |
|
|
|
} |
|
|
|
myNumber { |
|
|
|
iv |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
@ -904,16 +975,16 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty, null); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
findMySchemaContent(id: ""{contentId}"") {{ |
|
|
|
dataDraft {{ |
|
|
|
myString {{ |
|
|
|
var query = @"
|
|
|
|
query { |
|
|
|
findMySchemaContent(id: ""<ID>"") { |
|
|
|
dataDraft { |
|
|
|
myString { |
|
|
|
de |
|
|
|
}} |
|
|
|
}} |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}".Replace("<ID>", contentId.ToString());
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(MatchsContentContext(), schemaId.ToString(), contentId, EtagVersion.Any)) |
|
|
|
.Returns(content); |
|
|
|
|