Merge branch 'main' into v17/dev

This commit is contained in:
Andy Butland
2025-10-17 14:41:06 +02:00
7 changed files with 547 additions and 518 deletions

View File

@@ -11,13 +11,14 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Mapping.Content
[TestFixture]
public class DocumentVariantStateHelperTests
{
[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)
[TestCase(false, false, false, DocumentVariantState.Draft)]
[TestCase(false, true, false, DocumentVariantState.Published)]
[TestCase(true, false, false, DocumentVariantState.Draft)]
[TestCase(true, true, false, DocumentVariantState.PublishedPendingChanges)]
[TestCase(true, false, true, DocumentVariantState.Trashed)]
public void Culture_Invariant_Content_State(bool edited, bool published, bool trashed, DocumentVariantState expectedResult)
{
var content = Mock.Of<IContent>(c => c.Id == 1 && c.Published == published && c.Edited == edited);
var content = Mock.Of<IContent>(c => c.Id == 1 && c.Published == published && c.Edited == edited && c.Trashed == trashed);
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(content, culture: null));
}
@@ -31,11 +32,12 @@ public class DocumentVariantStateHelperTests
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(content, culture: null));
}
[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)
[TestCase(false, false, false, DocumentVariantState.Draft)]
[TestCase(false, true, false, DocumentVariantState.Published)]
[TestCase(true, false, false, DocumentVariantState.Draft)]
[TestCase(true, true, false, DocumentVariantState.PublishedPendingChanges)]
[TestCase(true, false, true, DocumentVariantState.Trashed)]
public void Culture_Variant_Content_Existing_Culture_State(bool edited, bool published, bool trashed, DocumentVariantState expectedResult)
{
const string culture = "en";
var content = Mock.Of<IContent>(c =>
@@ -43,7 +45,8 @@ public class DocumentVariantStateHelperTests
&& c.AvailableCultures == new[] { culture }
&& c.EditedCultures == (edited ? new[] { culture } : Enumerable.Empty<string>())
&& c.Published == published
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>()));
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>())
&& c.Trashed == trashed);
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(content, culture));
}
@@ -63,13 +66,14 @@ public class DocumentVariantStateHelperTests
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(content, "dk"));
}
[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)
[TestCase(false, false, false, DocumentVariantState.Draft)]
[TestCase(false, true, false, DocumentVariantState.Published)]
[TestCase(true, false, false, DocumentVariantState.Draft)]
[TestCase(true, true, false, DocumentVariantState.PublishedPendingChanges)]
[TestCase(true, false, true, DocumentVariantState.Trashed)]
public void Culture_Invariant_DocumentEntitySlim_State(bool edited, bool published, bool trashed, DocumentVariantState expectedResult)
{
var entity = Mock.Of<IDocumentEntitySlim>(c => c.Id == 1 && c.Published == published && c.Edited == edited && c.CultureNames == new Dictionary<string, string>());
var entity = Mock.Of<IDocumentEntitySlim>(c => c.Id == 1 && c.Published == published && c.Edited == edited && c.CultureNames == new Dictionary<string, string>() && c.Trashed == trashed);
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(entity, culture: null));
}
@@ -83,11 +87,12 @@ public class DocumentVariantStateHelperTests
Assert.AreEqual(DocumentVariantState.NotCreated, DocumentVariantStateHelper.GetState(entity, culture: null));
}
[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)
[TestCase(false, false, false, DocumentVariantState.Draft)]
[TestCase(false, true, false, DocumentVariantState.Published)]
[TestCase(true, false, false, DocumentVariantState.Draft)]
[TestCase(true, true, false, DocumentVariantState.PublishedPendingChanges)]
[TestCase(true, false, true, DocumentVariantState.Trashed)]
public void Culture_Variant_DocumentEntitySlim_Existing_Culture_State(bool edited, bool published, bool trashed, DocumentVariantState expectedResult)
{
const string culture = "en";
var entity = Mock.Of<IDocumentEntitySlim>(c =>
@@ -95,7 +100,8 @@ public class DocumentVariantStateHelperTests
&& c.CultureNames == new Dictionary<string, string> { { culture, "value does not matter" } }
&& c.EditedCultures == (edited ? new[] { culture } : Enumerable.Empty<string>())
&& c.Published == published
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>()));
&& c.PublishedCultures == (published ? new[] { culture } : Enumerable.Empty<string>())
&& c.Trashed == trashed);
Assert.AreEqual(expectedResult, DocumentVariantStateHelper.GetState(entity, culture));
}