Files
Umbraco-CMS/tests/Umbraco.Tests.Common/TestHelpers/DocumentUpdateHelper.cs
Kenn Jacobsen 2cf28271cd Service refactoring to "fully" enable segments (#19114)
* Refactor serverside content editing to support all variance combinations

* Fix build errors

* Reintroduce the tests ignored by #19060

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2025-04-23 14:54:51 +02:00

62 lines
2.3 KiB
C#

using Umbraco.Cms.Api.Management.ViewModels;
using Umbraco.Cms.Api.Management.ViewModels.Document;
using Umbraco.Cms.Core.Models.ContentEditing;
namespace Umbraco.Cms.Tests.Common.TestHelpers;
public static class DocumentUpdateHelper
{
public static UpdateDocumentRequestModel CreateInvariantDocumentUpdateRequestModel(ContentCreateModel createModel)
{
var updateRequestModel = new UpdateDocumentRequestModel();
updateRequestModel.Template = ReferenceByIdModel.ReferenceOrNull(createModel.TemplateKey);
updateRequestModel.Variants =
[
new DocumentVariantRequestModel
{
Segment = null,
Culture = null,
Name = createModel.Variants.FirstOrDefault(v => v.Culture is null && v.Segment is null)?.Name
?? throw new ArgumentException("Could not find an invariant variant for the model name", nameof(createModel)),
}
];
updateRequestModel.Values = createModel.Properties.Select(x => new DocumentValueModel
{
Alias = x.Alias,
Value = x.Value,
});
return updateRequestModel;
}
public static CreateDocumentRequestModel CreateDocumentRequestModel(ContentCreateModel createModel)
{
var createDocumentRequestModel = new CreateDocumentRequestModel
{
Template = ReferenceByIdModel.ReferenceOrNull(createModel.TemplateKey),
DocumentType = new ReferenceByIdModel(createModel.ContentTypeKey),
Parent = ReferenceByIdModel.ReferenceOrNull(createModel.ParentKey),
};
createDocumentRequestModel.Variants =
[
new DocumentVariantRequestModel
{
Segment = null,
Culture = null,
Name = createModel.Variants.FirstOrDefault(v => v.Culture is null && v.Segment is null)?.Name
?? throw new ArgumentException("Could not find an invariant variant for the model name", nameof(createModel)),
}
];
createDocumentRequestModel.Values = createModel.Properties.Select(x => new DocumentValueModel
{
Alias = x.Alias,
Value = x.Value,
});
return createDocumentRequestModel;
}
}