|
|
|
@ -20,16 +20,13 @@ using Squidex.Domain.Apps.Core.Schemas; |
|
|
|
using Squidex.Domain.Apps.Read.Apps; |
|
|
|
using Squidex.Domain.Apps.Read.Assets.Repositories; |
|
|
|
using Squidex.Domain.Apps.Read.Contents.GraphQL; |
|
|
|
using Squidex.Domain.Apps.Read.Contents.Repositories; |
|
|
|
using Squidex.Domain.Apps.Read.Contents.TestData; |
|
|
|
using Squidex.Domain.Apps.Read.Schemas; |
|
|
|
using Squidex.Domain.Apps.Read.Schemas.Repositories; |
|
|
|
using Xunit; |
|
|
|
using NodaTime.Extensions; |
|
|
|
using Squidex.Domain.Apps.Core.Contents; |
|
|
|
using Squidex.Domain.Apps.Core.Scripting; |
|
|
|
using Squidex.Domain.Apps.Read.Assets; |
|
|
|
using Squidex.Domain.Apps.Read.Schemas.Services; |
|
|
|
using Squidex.Infrastructure; |
|
|
|
|
|
|
|
// ReSharper disable SimilarAnonymousTypeNearby
|
|
|
|
@ -41,7 +38,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
private static readonly Guid schemaId = Guid.NewGuid(); |
|
|
|
private static readonly Guid appId = Guid.NewGuid(); |
|
|
|
|
|
|
|
private readonly Schema schema = |
|
|
|
private readonly Schema schemaDef = |
|
|
|
Schema.Create("my-schema", new SchemaProperties()) |
|
|
|
.AddOrUpdateField(new JsonField(1, "my-json", Partitioning.Invariant, |
|
|
|
new JsonFieldProperties())) |
|
|
|
@ -62,27 +59,27 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
.AddOrUpdateField(new GeolocationField(9, "my-geolocation", Partitioning.Invariant, |
|
|
|
new GeolocationFieldProperties())); |
|
|
|
|
|
|
|
private readonly ISchemaRepository schemaRepository = A.Fake<ISchemaRepository>(); |
|
|
|
private readonly ISchemaEntity schemaEntity = A.Fake<ISchemaEntity>(); |
|
|
|
private readonly IContentQueryService contentQuery = A.Fake<IContentQueryService>(); |
|
|
|
private readonly ISchemaRepository schemaRepository = A.Fake<ISchemaRepository>(); |
|
|
|
private readonly IAssetRepository assetRepository = A.Fake<IAssetRepository>(); |
|
|
|
private readonly IAppEntity appEntity = A.Dummy<IAppEntity>(); |
|
|
|
private readonly ISchemaEntity schema = A.Fake<ISchemaEntity>(); |
|
|
|
private readonly IMemoryCache cache = new MemoryCache(Options.Create(new MemoryCacheOptions())); |
|
|
|
private readonly IAppEntity app = A.Dummy<IAppEntity>(); |
|
|
|
private readonly ClaimsPrincipal user = new ClaimsPrincipal(); |
|
|
|
private readonly IGraphQLService sut; |
|
|
|
|
|
|
|
public GraphQLTests() |
|
|
|
{ |
|
|
|
A.CallTo(() => appEntity.Id).Returns(appId); |
|
|
|
A.CallTo(() => appEntity.PartitionResolver).Returns(x => InvariantPartitioning.Instance); |
|
|
|
A.CallTo(() => app.Id).Returns(appId); |
|
|
|
A.CallTo(() => app.PartitionResolver).Returns(x => InvariantPartitioning.Instance); |
|
|
|
|
|
|
|
A.CallTo(() => schemaEntity.Id).Returns(schemaId); |
|
|
|
A.CallTo(() => schemaEntity.Name).Returns(schema.Name); |
|
|
|
A.CallTo(() => schemaEntity.Schema).Returns(schema); |
|
|
|
A.CallTo(() => schemaEntity.IsPublished).Returns(true); |
|
|
|
A.CallTo(() => schemaEntity.ScriptQuery).Returns("<script-query>"); |
|
|
|
A.CallTo(() => schema.Id).Returns(schemaId); |
|
|
|
A.CallTo(() => schema.Name).Returns(schemaDef.Name); |
|
|
|
A.CallTo(() => schema.SchemaDef).Returns(schemaDef); |
|
|
|
A.CallTo(() => schema.IsPublished).Returns(true); |
|
|
|
A.CallTo(() => schema.ScriptQuery).Returns("<script-query>"); |
|
|
|
|
|
|
|
var allSchemas = new List<ISchemaEntity> { schemaEntity }; |
|
|
|
var allSchemas = new List<ISchemaEntity> { schema }; |
|
|
|
|
|
|
|
A.CallTo(() => schemaRepository.QueryAllAsync(appId)).Returns(Task.FromResult<IReadOnlyList<ISchemaEntity>>(allSchemas)); |
|
|
|
|
|
|
|
@ -114,14 +111,14 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
} |
|
|
|
}";
|
|
|
|
|
|
|
|
var assetEntity = CreateAsset(Guid.NewGuid()); |
|
|
|
var asset = CreateAsset(Guid.NewGuid()); |
|
|
|
|
|
|
|
var assets = new List<IAssetEntity> { assetEntity }; |
|
|
|
var assets = new List<IAssetEntity> { asset }; |
|
|
|
|
|
|
|
A.CallTo(() => assetRepository.QueryAsync(appEntity.Id, null, null, "my-query", 30, 5)) |
|
|
|
A.CallTo(() => assetRepository.QueryAsync(app.Id, null, null, "my-query", 30, 5)) |
|
|
|
.Returns(Task.FromResult<IReadOnlyList<IAssetEntity>>(assets)); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -131,15 +128,15 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
new |
|
|
|
{ |
|
|
|
id = assetEntity.Id, |
|
|
|
id = asset.Id, |
|
|
|
version = 1, |
|
|
|
created = assetEntity.Created.ToDateTimeUtc(), |
|
|
|
created = asset.Created.ToDateTimeUtc(), |
|
|
|
createdBy = "subject:user1", |
|
|
|
lastModified = assetEntity.LastModified.ToDateTimeUtc(), |
|
|
|
lastModified = asset.LastModified.ToDateTimeUtc(), |
|
|
|
lastModifiedBy = "subject:user2", |
|
|
|
url = $"assets/{assetEntity.Id}", |
|
|
|
thumbnailUrl = $"assets/{assetEntity.Id}?width=100", |
|
|
|
sourceUrl = $"assets/source/{assetEntity.Id}", |
|
|
|
url = $"assets/{asset.Id}", |
|
|
|
thumbnailUrl = $"assets/{asset.Id}?width=100", |
|
|
|
sourceUrl = $"assets/source/{asset.Id}", |
|
|
|
mimeType = "image/png", |
|
|
|
fileName = "MyFile.png", |
|
|
|
fileSize = 1024, |
|
|
|
@ -159,7 +156,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
public async Task Should_return_single_asset_when_finding_asset() |
|
|
|
{ |
|
|
|
var assetId = Guid.NewGuid(); |
|
|
|
var assetEntity = CreateAsset(Guid.NewGuid()); |
|
|
|
var asset = CreateAsset(Guid.NewGuid()); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
@ -184,9 +181,9 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}}";
|
|
|
|
|
|
|
|
A.CallTo(() => assetRepository.FindAssetAsync(assetId)) |
|
|
|
.Returns(Task.FromResult(assetEntity)); |
|
|
|
.Returns(Task.FromResult(asset)); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -194,15 +191,15 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
findAsset = new |
|
|
|
{ |
|
|
|
id = assetEntity.Id, |
|
|
|
id = asset.Id, |
|
|
|
version = 1, |
|
|
|
created = assetEntity.Created.ToDateTimeUtc(), |
|
|
|
created = asset.Created.ToDateTimeUtc(), |
|
|
|
createdBy = "subject:user1", |
|
|
|
lastModified = assetEntity.LastModified.ToDateTimeUtc(), |
|
|
|
lastModified = asset.LastModified.ToDateTimeUtc(), |
|
|
|
lastModifiedBy = "subject:user2", |
|
|
|
url = $"assets/{assetEntity.Id}", |
|
|
|
thumbnailUrl = $"assets/{assetEntity.Id}?width=100", |
|
|
|
sourceUrl = $"assets/source/{assetEntity.Id}", |
|
|
|
url = $"assets/{asset.Id}", |
|
|
|
thumbnailUrl = $"assets/{asset.Id}?width=100", |
|
|
|
sourceUrl = $"assets/source/{asset.Id}", |
|
|
|
mimeType = "image/png", |
|
|
|
fileName = "MyFile.png", |
|
|
|
fileSize = 1024, |
|
|
|
@ -253,14 +250,14 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
} |
|
|
|
}";
|
|
|
|
|
|
|
|
var contentEntity = CreateContent(Guid.NewGuid(), Guid.Empty, Guid.Empty); |
|
|
|
var content = CreateContent(Guid.NewGuid(), Guid.Empty, Guid.Empty); |
|
|
|
|
|
|
|
var contents = new List<IContentEntity> { contentEntity }; |
|
|
|
var contents = new List<IContentEntity> { content }; |
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.QueryWithCountAsync(appEntity, schemaEntity.Id.ToString(), user, null, "?$top=30&$skip=5")) |
|
|
|
.Returns(Task.FromResult((schemaEntity, 0L, (IReadOnlyList<IContentEntity>)contents))); |
|
|
|
A.CallTo(() => contentQuery.QueryWithCountAsync(app, schema.Id.ToString(), user, null, "?$top=30&$skip=5")) |
|
|
|
.Returns(Task.FromResult((schema, 0L, (IReadOnlyList<IContentEntity>)contents))); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -270,13 +267,13 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
new |
|
|
|
{ |
|
|
|
id = contentEntity.Id, |
|
|
|
id = content.Id, |
|
|
|
version = 1, |
|
|
|
created = contentEntity.Created.ToDateTimeUtc(), |
|
|
|
created = content.Created.ToDateTimeUtc(), |
|
|
|
createdBy = "subject:user1", |
|
|
|
lastModified = contentEntity.LastModified.ToDateTimeUtc(), |
|
|
|
lastModified = content.LastModified.ToDateTimeUtc(), |
|
|
|
lastModifiedBy = "subject:user2", |
|
|
|
url = $"contents/my-schema/{contentEntity.Id}", |
|
|
|
url = $"contents/my-schema/{content.Id}", |
|
|
|
data = new |
|
|
|
{ |
|
|
|
myString = new |
|
|
|
@ -293,7 +290,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}, |
|
|
|
myDatetime = new |
|
|
|
{ |
|
|
|
iv = contentEntity.LastModified.ToDateTimeUtc() |
|
|
|
iv = content.LastModified.ToDateTimeUtc() |
|
|
|
}, |
|
|
|
myJson = new |
|
|
|
{ |
|
|
|
@ -323,7 +320,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
public async Task Should_return_single_content_when_finding_content() |
|
|
|
{ |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var contentEntity = CreateContent(contentId, Guid.Empty, Guid.Empty); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
@ -358,10 +355,10 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(appEntity, schemaEntity.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schemaEntity, contentEntity))); |
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(app, schema.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schema, content))); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -369,13 +366,13 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
findMySchemaContent = new |
|
|
|
{ |
|
|
|
id = contentEntity.Id, |
|
|
|
id = content.Id, |
|
|
|
version = 1, |
|
|
|
created = contentEntity.Created.ToDateTimeUtc(), |
|
|
|
created = content.Created.ToDateTimeUtc(), |
|
|
|
createdBy = "subject:user1", |
|
|
|
lastModified = contentEntity.LastModified.ToDateTimeUtc(), |
|
|
|
lastModified = content.LastModified.ToDateTimeUtc(), |
|
|
|
lastModifiedBy = "subject:user2", |
|
|
|
url = $"contents/my-schema/{contentEntity.Id}", |
|
|
|
url = $"contents/my-schema/{content.Id}", |
|
|
|
data = new |
|
|
|
{ |
|
|
|
myString = new |
|
|
|
@ -392,7 +389,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}, |
|
|
|
myDatetime = new |
|
|
|
{ |
|
|
|
iv = contentEntity.LastModified.ToDateTimeUtc() |
|
|
|
iv = content.LastModified.ToDateTimeUtc() |
|
|
|
}, |
|
|
|
myJson = new |
|
|
|
{ |
|
|
|
@ -421,10 +418,10 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
public async Task Should_also_fetch_referenced_contents_when_field_is_included_in_query() |
|
|
|
{ |
|
|
|
var contentRefId = Guid.NewGuid(); |
|
|
|
var contentRefEntity = CreateContent(contentRefId, Guid.Empty, Guid.Empty); |
|
|
|
var contentRef = CreateContent(contentRefId, Guid.Empty, Guid.Empty); |
|
|
|
|
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var contentEntity = CreateContent(contentId, contentRefId, Guid.Empty); |
|
|
|
var content = CreateContent(contentId, contentRefId, Guid.Empty); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
@ -440,15 +437,15 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
|
|
|
|
var refContents = new List<IContentEntity> { contentRefEntity }; |
|
|
|
var refContents = new List<IContentEntity> { contentRef }; |
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(appEntity, schemaEntity.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schemaEntity, contentEntity))); |
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(app, schema.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schema, content))); |
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.QueryWithCountAsync(appEntity, schemaEntity.Id.ToString(), user, A<HashSet<Guid>>.That.Matches(x => x.Contains(contentRefId)), null)) |
|
|
|
.Returns(Task.FromResult((schemaEntity, 0L, (IReadOnlyList<IContentEntity>)refContents))); |
|
|
|
A.CallTo(() => contentQuery.QueryWithCountAsync(app, schema.Id.ToString(), user, A<HashSet<Guid>>.That.Matches(x => x.Contains(contentRefId)), null)) |
|
|
|
.Returns(Task.FromResult((schema, 0L, (IReadOnlyList<IContentEntity>)refContents))); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -456,7 +453,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
findMySchemaContent = new |
|
|
|
{ |
|
|
|
id = contentEntity.Id, |
|
|
|
id = content.Id, |
|
|
|
data = new |
|
|
|
{ |
|
|
|
myReferences = new |
|
|
|
@ -481,10 +478,10 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
public async Task Should_also_fetch_referenced_assets_when_field_is_included_in_query() |
|
|
|
{ |
|
|
|
var assetRefId = Guid.NewGuid(); |
|
|
|
var assetRefEntity = CreateAsset(assetRefId); |
|
|
|
var assetRef = CreateAsset(assetRefId); |
|
|
|
|
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var contentEntity = CreateContent(contentId, Guid.Empty, assetRefId); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, assetRefId); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
@ -500,15 +497,15 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
|
|
|
|
var refAssets = new List<IAssetEntity> { assetRefEntity }; |
|
|
|
var refAssets = new List<IAssetEntity> { assetRef }; |
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(appEntity, schemaEntity.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schemaEntity, contentEntity))); |
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(app, schema.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schema, content))); |
|
|
|
|
|
|
|
A.CallTo(() => assetRepository.QueryAsync(appEntity.Id, null, A<HashSet<Guid>>.That.Matches(x => x.Contains(assetRefId)), null, int.MaxValue, 0)) |
|
|
|
A.CallTo(() => assetRepository.QueryAsync(app.Id, null, A<HashSet<Guid>>.That.Matches(x => x.Contains(assetRefId)), null, int.MaxValue, 0)) |
|
|
|
.Returns(Task.FromResult<IReadOnlyList<IAssetEntity>>(refAssets)); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -516,7 +513,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
findMySchemaContent = new |
|
|
|
{ |
|
|
|
id = contentEntity.Id, |
|
|
|
id = content.Id, |
|
|
|
data = new |
|
|
|
{ |
|
|
|
myAssets = new |
|
|
|
@ -541,7 +538,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
public async Task Should_not_return_value_when_field_not_part_of_content() |
|
|
|
{ |
|
|
|
var contentId = Guid.NewGuid(); |
|
|
|
var contentEntity = CreateContent(contentId, Guid.Empty, Guid.Empty, new NamedContentData()); |
|
|
|
var content = CreateContent(contentId, Guid.Empty, Guid.Empty, new NamedContentData()); |
|
|
|
|
|
|
|
var query = $@"
|
|
|
|
query {{ |
|
|
|
@ -561,10 +558,10 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
}} |
|
|
|
}}";
|
|
|
|
|
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(appEntity, schemaEntity.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schemaEntity, contentEntity))); |
|
|
|
A.CallTo(() => contentQuery.FindContentAsync(app, schema.ToString(), user, contentId)) |
|
|
|
.Returns(Task.FromResult((schema, content))); |
|
|
|
|
|
|
|
var result = await sut.QueryAsync(appEntity, user, new GraphQLQuery { Query = query }); |
|
|
|
var result = await sut.QueryAsync(app, user, new GraphQLQuery { Query = query }); |
|
|
|
|
|
|
|
var expected = new |
|
|
|
{ |
|
|
|
@ -572,13 +569,13 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
{ |
|
|
|
findMySchemaContent = new |
|
|
|
{ |
|
|
|
id = contentEntity.Id, |
|
|
|
id = content.Id, |
|
|
|
version = 1, |
|
|
|
created = contentEntity.Created.ToDateTimeUtc(), |
|
|
|
created = content.Created.ToDateTimeUtc(), |
|
|
|
createdBy = "subject:user1", |
|
|
|
lastModified = contentEntity.LastModified.ToDateTimeUtc(), |
|
|
|
lastModified = content.LastModified.ToDateTimeUtc(), |
|
|
|
lastModifiedBy = "subject:user2", |
|
|
|
url = $"contents/my-schema/{contentEntity.Id}", |
|
|
|
url = $"contents/my-schema/{content.Id}", |
|
|
|
data = new |
|
|
|
{ |
|
|
|
myString = (object)null |
|
|
|
@ -613,7 +610,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
.AddField("my-geolocation", |
|
|
|
new ContentFieldData().AddValue("iv", JToken.FromObject(new { latitude = 10, longitude = 20 }))); |
|
|
|
|
|
|
|
var contentEntity = new FakeContentEntity |
|
|
|
var content = new FakeContentEntity |
|
|
|
{ |
|
|
|
Id = id, |
|
|
|
Version = 1, |
|
|
|
@ -624,14 +621,14 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
Data = data |
|
|
|
}; |
|
|
|
|
|
|
|
return contentEntity; |
|
|
|
return content; |
|
|
|
} |
|
|
|
|
|
|
|
private static IAssetEntity CreateAsset(Guid id) |
|
|
|
{ |
|
|
|
var now = DateTime.UtcNow.ToInstant(); |
|
|
|
|
|
|
|
var assetEntity = new FakeAssetEntity |
|
|
|
var asset = new FakeAssetEntity |
|
|
|
{ |
|
|
|
Id = id, |
|
|
|
Version = 1, |
|
|
|
@ -648,7 +645,7 @@ namespace Squidex.Domain.Apps.Read.Contents |
|
|
|
PixelHeight = 600 |
|
|
|
}; |
|
|
|
|
|
|
|
return assetEntity; |
|
|
|
return asset; |
|
|
|
} |
|
|
|
|
|
|
|
private static void AssertJson(object expected, object result) |
|
|
|
|