Add a backing field for EditorUIAlias and track changes when its set. (#19733)

* Add a backing field for EditorUIAlias and track changes when its set.

* Add previously failing unit test to verify fix.

* Aligned backing field casing with property name.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
This commit is contained in:
Kevin Jump
2025-07-21 08:52:58 +01:00
committed by GitHub
parent 7458143bb8
commit 6fe39b071f
2 changed files with 41 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using NUnit.Framework;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Tests.Common.Builders;
using Umbraco.Cms.Tests.Common.Builders.Extensions;
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Models;
[TestFixture]
public class DataTypeTests
{
[Test]
public void Can_Update_And_Verify_Dirty_Properties()
{
var dataType = new DataTypeBuilder()
.WithName("Test Data Type")
.WithDatabaseType(ValueStorageType.Ntext)
.Build();
dataType.ResetDirtyProperties();
dataType.DatabaseType = ValueStorageType.Nvarchar;
dataType.EditorUiAlias = "Test.EditorUiAlias";
var dirtyProperties = dataType.GetDirtyProperties().OrderBy(x => x).ToList();
Assert.IsTrue(dataType.IsPropertyDirty(nameof(dataType.DatabaseType)));
Assert.IsTrue(dataType.IsPropertyDirty(nameof(dataType.EditorUiAlias)));
Assert.AreEqual(2, dirtyProperties.Count);
Assert.AreEqual($"{nameof(dataType.DatabaseType)},{nameof(dataType.EditorUiAlias)}", string.Join(",", dirtyProperties));
}
}