docs(tests): fix CommentChecker findings across tests/ — 13,392 → 0 (repo-wide scan clean)

Comment/XML-doc changes only:
- add summaries to ~10k test methods, fixtures, fakes and helpers
  (+ <param> on theories, <returns> on async Task methods,
  <inheritdoc/> on interface implementations the checker can resolve)
- strip ~2.6k project-tracking references (WP*, P*-*, row-NN, Task N,
  #NN, Component-0NN) from comments, keeping the explanatory text;
  reword false positives in comments only
- real docs on fakes implementing BCL/library interfaces
  (IDisposable, ILogger, IOptionsMonitor, IAsyncLifetime)
- reword the last 5 src/ false positives (CWE-1236, failures-1,
  year-0001, M365)

Only non-comment edits: four one-line nested classes split across lines
so members can carry docs. Build 0 errors / 0 warnings.
This commit is contained in:
Joseph Doherty
2026-10-07 15:05:49 -04:00
parent 0ffd4bdbea
commit 513fa1aa16
998 changed files with 17896 additions and 2395 deletions
@@ -4,8 +4,7 @@ using Xunit;
namespace ZB.MOM.WW.ScadaBridge.CentralUI.PlaywrightTests.SiteCalls;
/// <summary>
/// End-to-end coverage for the central Site Calls page (Site Call Audit #22,
/// follow-ups Task 6).
/// End-to-end coverage for the central Site Calls page (Site Call Audit).
///
/// <para>
/// Each test seeds its own <c>SiteCalls</c> rows directly into the running
@@ -14,13 +13,13 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.PlaywrightTests.SiteCalls;
/// their <c>Target</c> prefix. The Site Calls page reads the <c>SiteCalls</c>
/// table through the <c>SiteCallAuditActor</c> (a pure read-from-table mirror),
/// so a directly-INSERTed row surfaces exactly as a telemetry-ingested row
/// would — the same seeding model the Audit Log E2E tests use. The pattern
/// would — the same seeding model the Audit Log end-to-end tests use. The pattern
/// keeps each test self-contained without touching
/// <c>infra/mssql/seed-config.sql</c>.
/// </para>
///
/// <para>
/// Scenarios covered (per the Task 6 brief):
/// Scenarios covered:
/// <list type="bullet">
/// <item><c>PageLoads</c> — the page renders for a Deployment-role user.</item>
/// <item><c>FilterNarrowing</c> — a channel filter narrows the results grid.</item>
@@ -31,7 +30,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.PlaywrightTests.SiteCalls;
/// <item><c>RetryClickThrough</c> — clicking Retry on a Parked row confirms
/// the dialog, relays to the owning site, and surfaces an outcome toast.</item>
/// <item><c>DiscardClickThrough</c> — clicking Discard on a Parked row confirms
/// the danger dialog ("Discard" since the row-28 explicit labels), relays to the owning site, and surfaces an
/// the danger dialog ("Discard", an explicit label), relays to the owning site, and surfaces an
/// outcome toast.</item>
/// </list>
/// </para>
@@ -49,6 +48,8 @@ public class SiteCallsPageTests
private readonly PlaywrightFixture _fixture;
/// <summary>Initializes the test class with the shared Playwright fixture.</summary>
/// <param name="fixture">The shared Playwright fixture.</param>
public SiteCallsPageTests(PlaywrightFixture fixture)
{
_fixture = fixture;
@@ -88,6 +89,8 @@ public class SiteCallsPageTests
await search.DispatchEventAsync("change");
}
/// <summary>Verifies that the Site Calls page loads for a user with the Deployment role.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task PageLoads_ForDeploymentUser()
{
@@ -106,6 +109,8 @@ public class SiteCallsPageTests
"SiteCallDataSeeder cannot reach MSSQL at localhost:1433 — bring up infra/docker-compose and docker/deploy.sh, " +
"or set SCADABRIDGE_PLAYWRIGHT_DB to a reachable connection string.";
/// <summary>Verifies that applying a channel filter shrinks the results grid.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task FilterNarrowing_ChannelFilterShrinksGrid()
{
@@ -162,6 +167,8 @@ public class SiteCallsPageTests
}
}
/// <summary>Verifies that the view audit history link navigates to the Audit Log pre-filtered to the call.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task DrillIn_ViewAuditHistory_NavigatesToPreFilteredAuditLog()
{
@@ -209,6 +216,8 @@ public class SiteCallsPageTests
}
}
/// <summary>Verifies that the Retry and Discard actions are visible only on parked rows.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task RetryDiscard_VisibleOnlyOnParkedRows()
{
@@ -266,6 +275,8 @@ public class SiteCallsPageTests
}
}
/// <summary>Verifies that retrying a parked row confirms the dialog, relays to the site and shows an outcome toast.</summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task RetryClickThrough_OnParkedRow_ConfirmsRelayAndShowsOutcomeToast()
{
@@ -336,9 +347,10 @@ public class SiteCallsPageTests
/// Mirrors <see cref="RetryClickThrough_OnParkedRow_ConfirmsRelayAndShowsOutcomeToast"/>
/// but exercises the Discard path: clicking Discard opens a <em>danger</em>
/// confirm modal (Dialog.ConfirmAsync with <c>danger: true</c>), whose footer
/// button is labelled "Discard" (explicit label since row 28; not "Confirm"). Confirming relays a discard to
/// button is labelled "Discard" (an explicit label, not "Confirm"). Confirming relays a discard to
/// the owning site and <c>ShowRelayOutcome</c> surfaces exactly one outcome toast.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task DiscardClickThrough_OnParkedRow_ConfirmsRelayAndShowsOutcomeToast()
{
@@ -401,6 +413,7 @@ public class SiteCallsPageTests
/// <c>FilterPermittedAsync</c> drops rows whose source site is not permitted.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task StatusFilter_NarrowsToSelectedStatus()
{
@@ -470,6 +483,7 @@ public class SiteCallsPageTests
/// <see cref="IPage.GetByText(string,PageGetByTextOptions)"/> instead.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task EmptyState_NoMatch_ShowsEmptyCard()
{
@@ -513,6 +527,7 @@ public class SiteCallsPageTests
/// mid-fetch — reading button state before the fetch settles would race.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[SkippableFact]
public async Task Pagination_KeysetNextAndPrev_TraversesPages()
{
@@ -546,7 +561,7 @@ public class SiteCallsPageTests
await SetSearchKeywordAsync(page, sharedTarget);
await page.ClickAsync("[data-test='site-calls-query']");
// The M10 KeysetPager summary span (`Page {N} · {rows} rows`), exposed
// The KeysetPager summary span (`Page {N} · {rows} rows`), exposed
// via its stable data-test hook so a future markup tweak can't make this
// match ambiguous under strict mode.
var pageIndicator = page.Locator("[data-test='keyset-summary']");