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:
@@ -4,7 +4,7 @@ using ZB.MOM.WW.ScadaBridge.CentralUI.PlaywrightTests.Cluster;
|
||||
namespace ZB.MOM.WW.ScadaBridge.CentralUI.PlaywrightTests.Audit;
|
||||
|
||||
/// <summary>
|
||||
/// End-to-end coverage for the central Audit Log surface (#23 M7-T16 / Bundle H).
|
||||
/// End-to-end coverage for the central Audit Log surface (Bundle H).
|
||||
///
|
||||
/// <para>
|
||||
/// Each test seeds its own <c>AuditLog</c> rows directly into the running cluster's
|
||||
@@ -15,7 +15,7 @@ namespace ZB.MOM.WW.ScadaBridge.CentralUI.PlaywrightTests.Audit;
|
||||
/// </para>
|
||||
///
|
||||
/// <para>
|
||||
/// Scenarios covered (per the M7-T16 brief):
|
||||
/// Scenarios covered (per the brief):
|
||||
/// <list type="bullet">
|
||||
/// <item><c>FilterNarrowing</c> — the channel filter narrows the results grid.</item>
|
||||
/// <item><c>DrilldownDrawer_JsonPrettyPrint</c> — JSON request bodies pretty-print.</item>
|
||||
@@ -50,11 +50,15 @@ public class AuditLogPageTests
|
||||
{
|
||||
private readonly PlaywrightFixture _fixture;
|
||||
|
||||
/// <summary>Initializes the test class with the shared Playwright fixture.</summary>
|
||||
/// <param name="fixture">The shared Playwright fixture.</param>
|
||||
public AuditLogPageTests(PlaywrightFixture fixture)
|
||||
{
|
||||
_fixture = fixture;
|
||||
}
|
||||
|
||||
/// <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()
|
||||
{
|
||||
@@ -112,6 +116,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that combining a channel filter with a target filter narrows the grid to the matching row.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task FilterCombination_ChannelPlusTarget_NarrowsToMatch()
|
||||
{
|
||||
@@ -172,6 +178,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that applying a filter with no matches shows the empty state.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task EmptyResults_AfterApply_ShowsEmptyState()
|
||||
{
|
||||
@@ -195,6 +203,8 @@ public class AuditLogPageTests
|
||||
.ToContainTextAsync("No audit events match the current filter.");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the drilldown drawer pretty-prints a JSON request body.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task DrilldownDrawer_JsonPrettyPrintsRequestBody()
|
||||
{
|
||||
@@ -257,6 +267,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the copy-as-curl button is visible and clickable for an inbound API row.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task CopyAsCurlButton_IsVisibleAndClickableForApiInbound()
|
||||
{
|
||||
@@ -309,6 +321,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that drilling in from a correlation id lands on the Audit Log with the filter applied.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task DrillInFromCorrelationId_LandsOnAuditLogWithFilterContext()
|
||||
{
|
||||
@@ -366,6 +380,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that drilling in from an execution id lands on the Audit Log with the filter applied.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task DrillInFromExecutionId_LandsOnAuditLogWithFilterContext()
|
||||
{
|
||||
@@ -421,6 +437,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that drilling in from a parent execution filters the grid to the spawner execution.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task DrillInFromParentExecution_FiltersGridToSpawnerExecution()
|
||||
{
|
||||
@@ -498,12 +516,14 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that drilling into the execution chain renders the tree and that clicking a node filters the grid.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task DrillInToExecutionChain_RendersTree_AndNodeClickFiltersGrid()
|
||||
{
|
||||
Skip.IfNot(await ClusterAvailability.IsAvailableAsync(), ClusterAvailability.SkipReason);
|
||||
|
||||
// Audit Log ParentExecutionId feature, Task 10: the drawer's "View
|
||||
// Audit Log ParentExecutionId feature: the drawer's "View
|
||||
// execution chain" action opens /audit/execution-tree?executionId={id}.
|
||||
// We seed a spawner row + a child row, open the child's drawer, click
|
||||
// "View execution chain", assert the tree renders BOTH executions, then
|
||||
@@ -577,12 +597,14 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that double-clicking a tree node opens the execution row modal.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task DoubleClickTreeNode_OpensExecutionRowModal()
|
||||
{
|
||||
Skip.IfNot(await ClusterAvailability.IsAvailableAsync(), ClusterAvailability.SkipReason);
|
||||
|
||||
// Execution-Tree Node Detail Modal feature, Task 5: double-clicking a
|
||||
// Execution-Tree Node Detail Modal feature: double-clicking a
|
||||
// node on the /audit/execution-tree page opens ExecutionDetailModal —
|
||||
// a modal listing that execution's audit rows, with click-through to
|
||||
// each row's full <AuditEventDetail> view. We seed ONE execution with
|
||||
@@ -678,6 +700,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the Notifications page renders the audit drill-in link pattern.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[Fact]
|
||||
public async Task NotificationsPage_RendersAuditDrillInLinkPattern()
|
||||
{
|
||||
@@ -712,6 +736,8 @@ public class AuditLogPageTests
|
||||
// all we can assert without exercising the Akka query path to seed one.
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the CSV export link is visible to a user with audit export permission and triggers a download.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[Fact]
|
||||
public async Task ExportCsv_LinkVisibleForAuditExportUserAndTriggersDownload()
|
||||
{
|
||||
@@ -742,6 +768,8 @@ public class AuditLogPageTests
|
||||
Assert.EndsWith(".csv", download.SuggestedFilename);
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a Designer without the operational audit permission is denied access.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[Fact]
|
||||
public async Task PermissionGating_DesignerWithoutOperationalAudit_IsDeniedAccess()
|
||||
{
|
||||
@@ -766,6 +794,8 @@ public class AuditLogPageTests
|
||||
Assert.Equal(0, await page.Locator("[data-test='audit-results-grid']").CountAsync());
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the drawer for a non-API row omits the copy-as-curl button.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task NonApiRow_Drawer_OmitsCopyAsCurl()
|
||||
{
|
||||
@@ -821,6 +851,8 @@ public class AuditLogPageTests
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the drawer's close controls dismiss the drawer.</summary>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
[SkippableFact]
|
||||
public async Task Drawer_CloseControls_DismissTheDrawer()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user