fix(adminui): null Source for alias rows without a FullName (review nits)

This commit is contained in:
Joseph Doherty
2026-06-11 21:12:52 -04:00
parent bc9e83ed9f
commit fcc73ccd2d
3 changed files with 39 additions and 2 deletions
@@ -173,6 +173,40 @@ public sealed class UnsTreeServiceAliasTagTests
normal.IsAlias.ShouldBeFalse();
normal.Source.ShouldBeNull();
}
/// <summary>
/// A GalaxyMxGateway-bound tag whose TagConfig carries no <c>FullName</c> (e.g. <c>"{}"</c>) is
/// still an alias (<c>IsAlias = true</c>) but has a <c>null</c> Source — the display should not
/// show the literal <c>"galaxy:"</c> string.
/// </summary>
[Fact]
public async Task LoadTagsForEquipment_alias_with_no_FullName_has_null_Source()
{
var dbName = SeedCluster();
using (var db = UnsTreeTestDb.CreateNamed(dbName))
{
db.Tags.Add(new Tag
{
TagId = "TAG-ALIAS-NONAME",
DriverInstanceId = GatewayDriverId,
EquipmentId = EquipmentId,
Name = "unconfigured-alias",
DataType = "Float",
AccessLevel = TagAccessLevel.Read,
TagConfig = "{}",
});
db.SaveChanges();
}
var service = new UnsTreeService(UnsTreeTestDb.Factory(dbName));
var rows = await service.LoadTagsForEquipmentAsync(EquipmentId);
var alias = rows.ShouldHaveSingleItem(r => r.TagId == "TAG-ALIAS-NONAME");
alias.IsAlias.ShouldBeTrue();
alias.Source.ShouldBeNull();
}
}
/// <summary>Small Shouldly-style helper for "exactly one match" assertions used by these tests.</summary>