Merge remote-tracking branch 'origin/v13/dev' into v14/dev

# Conflicts:
#	Directory.Build.props
#	src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
This commit is contained in:
Bjarke Berg
2023-12-22 14:19:04 +01:00
11 changed files with 349 additions and 35 deletions

View File

@@ -1,8 +1,6 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using NUnit.Framework;
using Umbraco.Cms.Core;
@@ -49,6 +47,71 @@ public class ArtifactBaseTests
string.Join(",", artifact.Dependencies.Select(x => x.Udi.ToString())));
}
[Test]
public void Dependencies_Correctly_Updates_Mode()
{
var udi = Udi.Create(Constants.UdiEntityType.AnyGuid, Guid.NewGuid());
var dependencies = new ArtifactDependencyCollection
{
// Keep Match
new ArtifactDependency(udi, false, ArtifactDependencyMode.Match),
new ArtifactDependency(udi, false, ArtifactDependencyMode.Exist),
};
Assert.AreEqual(1, dependencies.Count);
var dependency = dependencies.First();
Assert.AreEqual(udi, dependency.Udi);
Assert.AreEqual(false, dependency.Ordering);
Assert.AreEqual(ArtifactDependencyMode.Match, dependency.Mode);
Assert.AreEqual(null, dependency.Checksum);
}
[Test]
public void Dependencies_Correctly_Updates_Ordering()
{
var udi = Udi.Create(Constants.UdiEntityType.AnyGuid, Guid.NewGuid());
var dependencies = new ArtifactDependencyCollection
{
// Keep ordering (regardless of mode)
new ArtifactDependency(udi, false, ArtifactDependencyMode.Match),
new ArtifactDependency(udi, false, ArtifactDependencyMode.Exist),
new ArtifactDependency(udi, true, ArtifactDependencyMode.Match),
new ArtifactDependency(udi, true, ArtifactDependencyMode.Exist),
new ArtifactDependency(udi, false, ArtifactDependencyMode.Match),
new ArtifactDependency(udi, false, ArtifactDependencyMode.Exist),
};
Assert.AreEqual(1, dependencies.Count);
var dependency = dependencies.First();
Assert.AreEqual(udi, dependency.Udi);
Assert.AreEqual(true, dependency.Ordering);
Assert.AreEqual(ArtifactDependencyMode.Match, dependency.Mode);
Assert.AreEqual(null, dependency.Checksum);
}
[Test]
public void Dependencies_Correctly_Updates_Checksum()
{
var udi = Udi.Create(Constants.UdiEntityType.AnyGuid, Guid.NewGuid());
var dependencies = new ArtifactDependencyCollection
{
// Keep checksum
new ArtifactDependency(udi, true, ArtifactDependencyMode.Match, "123"),
new ArtifactDependency(udi, true, ArtifactDependencyMode.Match, string.Empty),
new ArtifactDependency(udi, true, ArtifactDependencyMode.Match),
};
Assert.AreEqual(1, dependencies.Count);
var dependency = dependencies.First();
Assert.AreEqual(udi, dependency.Udi);
Assert.AreEqual(true, dependency.Ordering);
Assert.AreEqual(ArtifactDependencyMode.Match, dependency.Mode);
Assert.AreEqual("123", dependency.Checksum);
}
private class TestArtifact : ArtifactBase<GuidUdi>
{
public TestArtifact(GuidUdi udi, IEnumerable<ArtifactDependency> dependencies = null)