Fix and enable some unit tests which are not running locally or on pipeline builds (#19910)

* fix some test which are not running

* resolve code review comments

* Moved cleaned up tests to unit tests (as they are unit tests, not integration tests).
Removed tests marked as no longer necessary.
Update tests name to better reflect test case.

* Made explict test faster so it could run on the pipeline.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
This commit is contained in:
Dirk Seefeld
2025-08-15 09:23:39 +02:00
committed by GitHub
parent 74c9510b56
commit e2d7bb660c
3 changed files with 32 additions and 44 deletions

View File

@@ -1,7 +1,6 @@
// Copyright (c) Umbraco. // Copyright (c) Umbraco.
// See LICENSE for more details. // See LICENSE for more details.
using System.Threading;
using NUnit.Framework; using NUnit.Framework;
using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Cache;
using Umbraco.Extensions; using Umbraco.Extensions;
@@ -13,18 +12,21 @@ public abstract class RuntimeAppCacheTests : AppCacheTests
internal abstract IAppPolicyCache AppPolicyCache { get; } internal abstract IAppPolicyCache AppPolicyCache { get; }
[Test] [Test]
[Explicit("Testing for timeouts cannot work on VSTS.")]
public void Can_Add_And_Expire_Struct_Strongly_Typed_With_Null() public void Can_Add_And_Expire_Struct_Strongly_Typed_With_Null()
{ {
var now = DateTime.Now; var now = DateTime.Now;
AppPolicyCache.Insert("DateTimeTest", () => now, new TimeSpan(0, 0, 0, 0, 200)); AppPolicyCache.Insert("DateTimeTest", () => now, new TimeSpan(0, 0, 0, 0, 20));
Assert.AreEqual(now, AppCache.GetCacheItem<DateTime>("DateTimeTest")); var cachedDateTime = AppCache.GetCacheItem<DateTime>("DateTimeTest");
Assert.AreEqual(now, AppCache.GetCacheItem<DateTime?>("DateTimeTest")); var cachedDateTimeNullable = AppCache.GetCacheItem<DateTime?>("DateTimeTest");
Assert.AreEqual(now, cachedDateTime);
Assert.AreEqual(now, cachedDateTimeNullable);
Thread.Sleep(300); // sleep longer than the cache expiration Thread.Sleep(30); // sleep longer than the cache expiration
Assert.AreEqual(default(DateTime), AppCache.GetCacheItem<DateTime>("DateTimeTest")); cachedDateTime = AppCache.GetCacheItem<DateTime>("DateTimeTest");
Assert.AreEqual(null, AppCache.GetCacheItem<DateTime?>("DateTimeTest")); cachedDateTimeNullable = AppCache.GetCacheItem<DateTime?>("DateTimeTest");
Assert.AreEqual(default(DateTime), cachedDateTime);
Assert.AreEqual(null, cachedDateTimeNullable);
} }
[Test] [Test]

View File

@@ -28,8 +28,6 @@ public class SliderPropertyValueEditorTests
true, true,
new object(), new object(),
new List<string> { "some", "values" }, new List<string> { "some", "values" },
Guid.NewGuid(),
new GuidUdi(Constants.UdiEntityType.Document, Guid.NewGuid())
}; };
[TestCaseSource(nameof(InvalidCaseData))] [TestCaseSource(nameof(InvalidCaseData))]
@@ -39,6 +37,20 @@ public class SliderPropertyValueEditorTests
Assert.IsNull(fromEditor); Assert.IsNull(fromEditor);
} }
[Test]
public void Can_Handle_Invalid_Values_From_Editor_Guid()
{
var fromEditor = FromEditor(Guid.NewGuid());
Assert.IsNull(fromEditor);
}
[Test]
public void Can_Handle_Invalid_Values_From_Editor_Udi()
{
var fromEditor = FromEditor(new GuidUdi(Constants.UdiEntityType.Document, Guid.NewGuid()));
Assert.IsNull(fromEditor);
}
[TestCase("1", 1)] [TestCase("1", 1)]
[TestCase("0", 0)] [TestCase("0", 0)]
[TestCase("-1", -1)] [TestCase("-1", -1)]

View File

@@ -4,7 +4,7 @@
using NUnit.Framework; using NUnit.Framework;
using Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement; using Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement;
namespace Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Persistence.Repositories; namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.Persistence.Repositories;
[TestFixture] [TestFixture]
internal sealed class SimilarNodeNameTests internal sealed class SimilarNodeNameTests
@@ -156,45 +156,19 @@ internal sealed class SimilarNodeNameTests
Assert.AreEqual(expected, res); Assert.AreEqual(expected, res);
} }
/* Original Tests - Can be deleted, as new tests cover all cases */
[TestCase(0, "Charlie", "Charlie")]
[TestCase(0, "Zulu", "Zulu (1)")]
[TestCase(0, "Golf", "Golf (1)")]
[TestCase(0, "Kilo", "Kilo (2)")]
[TestCase(0, "Alpha", "Alpha (3)")]
//// [TestCase(0, "Kilo (1)", "Kilo (1) (1)")] // though... we might consider "Kilo (2)"
[TestCase(0, "Kilo (1)", "Kilo (2)")] // names[] contains "Kilo" AND "Kilo (1)", which implies that result should be "Kilo (2)"
[TestCase(6, "Kilo (1)", "Kilo (1)")] // because of the id
[TestCase(0, "alpha", "alpha (3)")]
[TestCase(0, "", " (1)")]
[TestCase(0, null, " (1)")]
public void Test(int nodeId, string nodeName, string expected)
{
SimilarNodeName[] names =
{
new SimilarNodeName {Id = 1, Name = "Alpha (2)"}, new SimilarNodeName {Id = 2, Name = "Alpha"},
new SimilarNodeName {Id = 3, Name = "Golf"}, new SimilarNodeName {Id = 4, Name = "Zulu"},
new SimilarNodeName {Id = 5, Name = "Mike"}, new SimilarNodeName {Id = 6, Name = "Kilo (1)"},
new SimilarNodeName {Id = 7, Name = "Yankee"}, new SimilarNodeName {Id = 8, Name = "Kilo"},
new SimilarNodeName {Id = 9, Name = "Golf (2)"}, new SimilarNodeName {Id = 10, Name = "Alpha (1)"}
};
Assert.AreEqual(expected, SimilarNodeName.GetUniqueName(names, nodeId, nodeName));
}
[Test] [Test]
[Explicit("This test fails! We need to fix up the logic")] public void Handles_Many_Similar_Names()
public void TestMany()
{ {
SimilarNodeName[] names = SimilarNodeName[] names =
{ {
new SimilarNodeName {Id = 1, Name = "Alpha (2)"}, new SimilarNodeName {Id = 2, Name = "Test"}, new SimilarNodeName {Id = 1, Name = "Alpha (2)"},
new SimilarNodeName {Id = 3, Name = "Test (1)"}, new SimilarNodeName {Id = 4, Name = "Test (2)"}, new SimilarNodeName {Id = 2, Name = "Test"},
new SimilarNodeName {Id = 3, Name = "Test (1)"},
new SimilarNodeName {Id = 4, Name = "Test (2)"},
new SimilarNodeName {Id = 22, Name = "Test (1) (1)"} new SimilarNodeName {Id = 22, Name = "Test (1) (1)"}
}; };
// TODO: this will yield "Test (2)" which is already in use var uniqueName = SimilarNodeName.GetUniqueName(names, 0, "Test");
Assert.AreEqual("Test (3)", SimilarNodeName.GetUniqueName(names, 0, "Test")); Assert.AreEqual("Test (3)", uniqueName);
} }
} }