Browse Source

Fix upsert for no result from query.

pull/814/head
Sebastian 4 years ago
parent
commit
97ee567a1b
  1. 5
      backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs
  2. 6
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/DomainObject/ContentsBulkUpdateCommandMiddlewareTests.cs

5
backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs

@ -308,6 +308,11 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject
throw new DomainException(T.Get("contents.bulkInsertQueryNotUnique"));
}
if (existing.Count == 0 && task.CommandJob.Type == BulkUpdateContentType.Upsert)
{
return new[] { DomainId.NewGuid() };
}
return existing.Select(x => x.Id).ToArray();
}

6
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/DomainObject/ContentsBulkUpdateCommandMiddlewareTests.cs

@ -102,7 +102,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject
}
[Fact]
public async Task Should_upsert_content_with_with_resolved_id()
public async Task Should_upsert_content_with_resolved_id()
{
var requestContext = SetupContext(Permissions.AppContentsUpsert);
@ -129,7 +129,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject
}
[Fact]
public async Task Should_upsert_content_with_with_resolved_ids()
public async Task Should_upsert_content_with_resolved_ids()
{
var requestContext = SetupContext(Permissions.AppContentsUpsert);
@ -191,7 +191,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject
{
SetupContext(Permissions.AppContentsUpsert);
var (_, data, query) = CreateTestData(false);
var (_, data, query) = CreateTestData(true);
var command = BulkCommand(BulkUpdateContentType.Upsert, query: query, data: data);

Loading…
Cancel
Save