docs+ui: backfill XML doc comments and finish dashboard layout pass

Adds missing <summary>/<param> XML docs across 99 server, worker, and test
files so CommentChecker reports zero issues (TreatWarningsAsErrors needs the
analyzer clean). Bundles in WIP dashboard work: NavSection extraction,
MainLayout/site.css/js styling alignment, and DashboardOptions/Auth tweaks.
This commit is contained in:
Joseph Doherty
2026-05-27 14:20:10 -04:00
parent 382861c602
commit 615b487a77
110 changed files with 1473 additions and 192 deletions
@@ -10,6 +10,7 @@ namespace ZB.MOM.WW.MxGateway.Tests.Gateway.Dashboard;
/// </summary>
public sealed class DashboardBrowseAndAlarmModelTests
{
/// <summary>Verifies that the tree builder links children to parents and promotes orphans to roots.</summary>
[Fact]
public void BuildTree_LinksChildrenToParents_AndPromotesOrphansToRoots()
{
@@ -27,6 +28,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.Contains(roots, node => node.Object.GobjectId == 3);
}
/// <summary>Verifies that the tree builder sorts areas before non-area objects.</summary>
[Fact]
public void BuildTree_SortsAreasBeforeObjects()
{
@@ -41,6 +43,9 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.False(roots[1].IsArea);
}
/// <summary>Verifies that the formatter renders boolean values correctly.</summary>
/// <param name="input">The boolean input value.</param>
/// <param name="expected">The expected formatted output.</param>
[Theory]
[InlineData(true, "true")]
[InlineData(false, "false")]
@@ -50,6 +55,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.Equal(expected, DashboardMxValueFormatter.FormatValue(value));
}
/// <summary>Verifies that the formatter renders numbers and strings correctly.</summary>
[Fact]
public void FormatValue_FormatsNumbersAndStrings()
{
@@ -57,6 +63,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.Equal("hello", DashboardMxValueFormatter.FormatValue(new MxValue { StringValue = "hello" }));
}
/// <summary>Verifies that the formatter handles null payloads and null references.</summary>
[Fact]
public void FormatValue_HandlesNullPayloadAndNullReference()
{
@@ -64,6 +71,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.Equal("(null)", DashboardMxValueFormatter.FormatValue(new MxValue { IsNull = true }));
}
/// <summary>Verifies that tag values from successful reads mark good quality.</summary>
[Fact]
public void TagValue_FromSuccessfulReadResult_MarksGoodQuality()
{
@@ -83,6 +91,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.Null(value.Error);
}
/// <summary>Verifies that tag values from failed reads carry the error message.</summary>
[Fact]
public void TagValue_FromFailedReadResult_CarriesError()
{
@@ -101,6 +110,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.Equal("invalid handle", value.Error);
}
/// <summary>Verifies that active alarms parse provider and acknowledgement state from snapshots.</summary>
[Fact]
public void ActiveAlarm_FromSnapshot_ParsesProviderAndAcknowledgementState()
{
@@ -127,6 +137,7 @@ public sealed class DashboardBrowseAndAlarmModelTests
Assert.False(ackedRow.IsUnacknowledged);
}
/// <summary>Verifies that the formatter renders array elements and element type correctly.</summary>
[Fact]
public void FormatValue_AndDataType_RenderArrayElementsAndElementType()
{