Management API model mapping take two (#15667)

* Re-modelling API models (take two)

* Do not use "content" - use "document" and "media" instead.

* Move "item" endpoints to their own silo

* Use "Id", not "Key"

* Regenerate OpenApi.json

* Rename user start node IDs from "content" to "document"

* Regererate OpenApi.json after forward merge

* update importmap

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
This commit is contained in:
Kenn Jacobsen
2024-02-06 13:19:30 +01:00
committed by GitHub
parent 8c6e03d346
commit 183b5cc454
139 changed files with 1514 additions and 1374 deletions

View File

@@ -2,22 +2,23 @@
using NUnit.Framework;
using Umbraco.Cms.Api.Management.Mapping.Content;
using Umbraco.Cms.Api.Management.ViewModels.Content;
using Umbraco.Cms.Api.Management.ViewModels.Document;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Entities;
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Mapping.Content;
[TestFixture]
public class ContentStateHelperTests
public class DocumentVariantStateHelperTests
{
[TestCase(false, false, ContentState.Draft)]
[TestCase(false, true, ContentState.Published)]
[TestCase(true, false, ContentState.Draft)]
[TestCase(true, true, ContentState.PublishedPendingChanges)]
public void Culture_Invariant_Content_State(bool edited, bool published, ContentState expectedResult)
[TestCase(false, false, DocumentVariantState.Draft)]
[TestCase(false, true, DocumentVariantState.Published)]
[TestCase(true, false, DocumentVariantState.Draft)]
[TestCase(true, true, DocumentVariantState.PublishedPendingChanges)]
public void Culture_Invariant_Content_State(bool edited, bool published, DocumentVariantState expectedResult)
{
var content = Mock.Of<IContent>(c => c.Id == 1 && c.Published == published && c.Edited == edited);
Assert.AreEqual(expectedResult, ContentStateHelper.GetContentState(content, culture: null));
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(content, culture: null));
}
[TestCase(false, false)]
@@ -27,14 +28,14 @@ public class ContentStateHelperTests
public void Culture_Invariant_Content_Not_Created_State(bool edited, bool published)
{
var content = Mock.Of<IContent>(c => c.Id == 0 && c.Published == published && c.Edited == edited);
Assert.AreEqual(ContentState.NotCreated, ContentStateHelper.GetContentState(content, culture: null));
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(content, culture: null));
}
[TestCase(false, false, ContentState.Draft)]
[TestCase(false, true, ContentState.Published)]
[TestCase(true, false, ContentState.Draft)]
[TestCase(true, true, ContentState.PublishedPendingChanges)]
public void Culture_Variant_Content_Existing_Culture_State(bool edited, bool published, ContentState expectedResult)
[TestCase(false, false, DocumentVariantState.Draft)]
[TestCase(false, true, DocumentVariantState.Published)]
[TestCase(true, false, DocumentVariantState.Draft)]
[TestCase(true, true, DocumentVariantState.PublishedPendingChanges)]
public void Culture_Variant_Content_Existing_Culture_State(bool edited, bool published, DocumentVariantState expectedResult)
{
const string culture = "en";
var content = Mock.Of<IContent>(c =>
@@ -43,7 +44,7 @@ public class ContentStateHelperTests
&& c.EditedCultures == (edited ? new[] { culture } : Enumerable.Empty<string>())
&& c.Published == published
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>()));
Assert.AreEqual(expectedResult, ContentStateHelper.GetContentState(content, culture));
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(content, culture));
}
[TestCase(false, false)]
@@ -59,17 +60,17 @@ public class ContentStateHelperTests
&& c.EditedCultures == (edited ? new[] { culture } : Enumerable.Empty<string>())
&& c.Published == published
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>()));
Assert.AreEqual(ContentState.NotCreated, ContentStateHelper.GetContentState(content, "dk"));
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(content, "dk"));
}
[TestCase(false, false, ContentState.Draft)]
[TestCase(false, true, ContentState.Published)]
[TestCase(true, false, ContentState.Draft)]
[TestCase(true, true, ContentState.PublishedPendingChanges)]
public void Culture_Invariant_DocumentEntitySlim_State(bool edited, bool published, ContentState expectedResult)
[TestCase(false, false, DocumentVariantState.Draft)]
[TestCase(false, true, DocumentVariantState.Published)]
[TestCase(true, false, DocumentVariantState.Draft)]
[TestCase(true, true, DocumentVariantState.PublishedPendingChanges)]
public void Culture_Invariant_DocumentEntitySlim_State(bool edited, bool published, DocumentVariantState expectedResult)
{
var entity = Mock.Of<IDocumentEntitySlim>(c => c.Id == 1 && c.Published == published && c.Edited == edited && c.CultureNames == new Dictionary<string, string>());
Assert.AreEqual(expectedResult, ContentStateHelper.GetContentState(entity, culture: null));
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(entity, culture: null));
}
[TestCase(false, false)]
@@ -79,14 +80,14 @@ public class ContentStateHelperTests
public void Culture_Invariant_DocumentEntitySlim_Not_Created_State(bool edited, bool published)
{
var entity = Mock.Of<IDocumentEntitySlim>(c => c.Id == 0 && c.Published == published && c.Edited == edited && c.CultureNames == new Dictionary<string, string>());
Assert.AreEqual(ContentState.NotCreated, ContentStateHelper.GetContentState(entity, culture: null));
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(entity, culture: null));
}
[TestCase(false, false, ContentState.Draft)]
[TestCase(false, true, ContentState.Published)]
[TestCase(true, false, ContentState.Draft)]
[TestCase(true, true, ContentState.PublishedPendingChanges)]
public void Culture_Variant_DocumentEntitySlim_Existing_Culture_State(bool edited, bool published, ContentState expectedResult)
[TestCase(false, false, DocumentVariantState.Draft)]
[TestCase(false, true, DocumentVariantState.Published)]
[TestCase(true, false, DocumentVariantState.Draft)]
[TestCase(true, true, DocumentVariantState.PublishedPendingChanges)]
public void Culture_Variant_DocumentEntitySlim_Existing_Culture_State(bool edited, bool published, DocumentVariantState expectedResult)
{
const string culture = "en";
var entity = Mock.Of<IDocumentEntitySlim>(c =>
@@ -95,7 +96,7 @@ public class ContentStateHelperTests
&& c.EditedCultures == (edited ? new[] { culture } : Enumerable.Empty<string>())
&& c.Published == published
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>()));
Assert.AreEqual(expectedResult, ContentStateHelper.GetContentState(entity, culture));
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(entity, culture));
}
[TestCase(false, false)]
@@ -111,6 +112,6 @@ public class ContentStateHelperTests
&& c.EditedCultures == (edited ? new[] { culture } : Enumerable.Empty<string>())
&& c.Published == published
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>()));
Assert.AreEqual(ContentState.NotCreated, ContentStateHelper.GetContentState(entity, "dk"));
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(entity, "dk"));
}
}