* 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>
62 lines
2.3 KiB
C#
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;
|
|
}
|
|
}
|