Fix mapping errors for invariant editing

This commit is contained in:
kjac
2025-03-31 07:06:23 +02:00
parent 15f0f44ff5
commit 8d9822ea70
2 changed files with 8 additions and 6 deletions

View File

@@ -318,9 +318,9 @@ internal abstract class ContentEditingServiceBase<TContent, TContentType, TConte
return null;
}
if (contentType.VariesByNothing() && (contentEditingModelBase.InvariantName.IsNullOrWhiteSpace() || contentEditingModelBase.Variants.Any()))
if (contentType.VariesByNothing() && contentEditingModelBase.InvariantName.IsNullOrWhiteSpace())
{
// either missing the invariant name or has one more variants = invalid
// does not vary by anything and is missing the invariant name = invalid
operationStatus = ContentEditingOperationStatus.ContentTypeCultureVarianceMismatch;
return null;
}

View File

@@ -370,8 +370,9 @@ public partial class ContentEditingServiceTests
Assert.IsNull(result.Result.Content);
}
[Test]
public async Task Cannot_Create_With_Variant_Property_Value_For_Invariant_Content()
[TestCase(ContentVariation.Culture)]
[TestCase(ContentVariation.Segment)]
public async Task Cannot_Create_With_Variant_Property_Value_For_Invariant_Content(ContentVariation contentVariation)
{
var contentType = ContentTypeBuilder.CreateContentMetaContentType();
contentType.AllowedTemplates = null;
@@ -391,7 +392,8 @@ public partial class ContentEditingServiceTests
{
new VariantModel
{
Culture = "en-US",
Culture = contentVariation is ContentVariation.Culture ? "en-US" : null,
Segment = contentVariation is ContentVariation.Segment ? "segment" : null,
Name = "The English Name",
Properties = new []
{
@@ -403,7 +405,7 @@ public partial class ContentEditingServiceTests
var result = await ContentEditingService.CreateAsync(createModel, Constants.Security.SuperUserKey);
Assert.IsFalse(result.Success);
Assert.AreEqual(ContentEditingOperationStatus.ContentTypeCultureVarianceMismatch, result.Status);
Assert.AreEqual(ContentEditingOperationStatus.PropertyTypeNotFound, result.Status);
Assert.IsNotNull(result.Result);
Assert.IsNull(result.Result.Content);
}