{{item}}
diff --git a/tests/Squidex.Domain.Apps.Read.Tests/Contents/ContentQueryServiceTests.cs b/tests/Squidex.Domain.Apps.Read.Tests/Contents/ContentQueryServiceTests.cs
index 8b0ab9cfc..40941c948 100644
--- a/tests/Squidex.Domain.Apps.Read.Tests/Contents/ContentQueryServiceTests.cs
+++ b/tests/Squidex.Domain.Apps.Read.Tests/Contents/ContentQueryServiceTests.cs
@@ -119,6 +119,12 @@ namespace Squidex.Domain.Apps.Read.Contents
await Assert.ThrowsAsync(async () => await sut.FindContentAsync(app, schemaId.ToString(), user, contentId));
}
+ [Fact]
+ public async Task Should_return_contents_with_ids_from_repository_and_transform()
+ {
+ await TestManyIdRequest(true, false, new HashSet { Guid.NewGuid() }, Status.Draft, Status.Published);
+ }
+
[Fact]
public async Task Should_return_non_archived_contents_from_repository_and_transform()
{
@@ -144,33 +150,70 @@ namespace Squidex.Domain.Apps.Read.Contents
}
private async Task TestManyRequest(bool isFrontend, bool archive, params Status[] status)
+ {
+ SetupClaims(isFrontend);
+
+ SetupFakeWithOdataQuery(status);
+ SetupFakeWithScripting();
+
+ var result = await sut.QueryWithCountAsync(app, schemaId.ToString(), user, archive, string.Empty);
+
+ Assert.Equal(123, result.Total);
+ Assert.Equal(schema, result.Schema);
+ Assert.Equal(data, result.Items[0].Data);
+ Assert.Equal(content.Id, result.Items[0].Id);
+ }
+
+ private async Task TestManyIdRequest(bool isFrontend, bool archive, HashSet ids, params Status[] status)
+ {
+ SetupClaims(isFrontend);
+
+ SetupFakeWithIdQuery(status, ids);
+ SetupFakeWithScripting();
+
+ var result = await sut.QueryWithCountAsync(app, schemaId.ToString(), user, archive, ids);
+
+ Assert.Equal(123, result.Total);
+ Assert.Equal(schema, result.Schema);
+ Assert.Equal(data, result.Items[0].Data);
+ Assert.Equal(content.Id, result.Items[0].Id);
+ }
+
+ private void SetupClaims(bool isFrontend)
{
if (isFrontend)
{
identity.AddClaim(new Claim(OpenIdClaims.ClientId, "squidex-frontend"));
}
+ }
- var ids = new HashSet();
+ private void SetupFakeWithIdQuery(Status[] status, HashSet ids)
+ {
+ A.CallTo(() => schemas.FindSchemaByIdAsync(schemaId, false))
+ .Returns(schema);
+ A.CallTo(() => contentRepository.QueryAsync(app, schema, A.That.IsSameSequenceAs(status), ids))
+ .Returns(new List { content });
+ A.CallTo(() => contentRepository.CountAsync(app, schema, A.That.IsSameSequenceAs(status), ids))
+ .Returns(123);
+ }
+ private void SetupFakeWithOdataQuery(Status[] status)
+ {
A.CallTo(() => schemas.FindSchemaByIdAsync(schemaId, false))
.Returns(schema);
- A.CallTo(() => contentRepository.QueryAsync(app, schema, A.That.IsSameSequenceAs(status), ids, A.Ignored))
+ A.CallTo(() => contentRepository.QueryAsync(app, schema, A.That.IsSameSequenceAs(status), A.Ignored))
.Returns(new List { content });
- A.CallTo(() => contentRepository.CountAsync(app, schema, A.That.IsSameSequenceAs(status), ids, A.Ignored))
+ A.CallTo(() => contentRepository.CountAsync(app, schema, A.That.IsSameSequenceAs(status), A.Ignored))
.Returns(123);
+ }
+ private void SetupFakeWithScripting()
+ {
A.CallTo(() => schema.ScriptQuery)
.Returns("");
A.CallTo(() => scriptEngine.Transform(A.That.Matches(x => x.User == user && x.ContentId == contentId && ReferenceEquals(x.Data, data)), ""))
.Returns(transformedData);
-
- var result = await sut.QueryWithCountAsync(app, schemaId.ToString(), user, archive, ids, null);
-
- Assert.Equal(123, result.Total);
- Assert.Equal(schema, result.Schema);
- Assert.Equal(data, result.Items[0].Data);
- Assert.Equal(content.Id, result.Items[0].Id);
}
}
}
diff --git a/tests/Squidex.Domain.Apps.Read.Tests/Contents/GraphQLTests.cs b/tests/Squidex.Domain.Apps.Read.Tests/Contents/GraphQLTests.cs
index ac5273792..460f983c0 100644
--- a/tests/Squidex.Domain.Apps.Read.Tests/Contents/GraphQLTests.cs
+++ b/tests/Squidex.Domain.Apps.Read.Tests/Contents/GraphQLTests.cs
@@ -272,7 +272,7 @@ namespace Squidex.Domain.Apps.Read.Contents
var contents = new List { content };
- A.CallTo(() => contentQuery.QueryWithCountAsync(app, schema.Id.ToString(), user, false, null, "?$top=30&$skip=5"))
+ A.CallTo(() => contentQuery.QueryWithCountAsync(app, schema.Id.ToString(), user, false, "?$top=30&$skip=5"))
.Returns((schema, 0L, (IReadOnlyList)contents));
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query });
@@ -460,7 +460,7 @@ namespace Squidex.Domain.Apps.Read.Contents
A.CallTo(() => contentQuery.FindContentAsync(app, schema.Id.ToString(), user, contentId))
.Returns((schema, content));
- A.CallTo(() => contentQuery.QueryWithCountAsync(app, schema.Id.ToString(), user, false, A>.That.Matches(x => x.Contains(contentRefId)), null))
+ A.CallTo(() => contentQuery.QueryWithCountAsync(app, schema.Id.ToString(), user, false, A>.That.Matches(x => x.Contains(contentRefId))))
.Returns((schema, 0L, (IReadOnlyList)refContents));
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query });