M10: AI Operations Brief runbook, full live e2e regression, final evidence
Ran a real AI Operations Brief via the live ITWorx MCP Hub connector's own MobilityOpsClient against production Fleet Ops: real operations summary, real most-pressing vehicle, real grounded knowledge answer with citations, real correlation IDs verified end-to-end in Fleet Ops's own audit log. No write actions performed. Runbook and full output in docs/final-integrations/ai-operations-brief-runbook.md. Ran the full Playwright e2e suite against the live deployed instance and fixed two pre-existing fragile locators unrelated to this session's feature work (both broke because Automation now legitimately has two tables sharing the same generic selectors, exposed by running the full suite rather than individual files) plus one pre-existing untranslated-loanword false positive. All specs pass. artifacts/final-integrations/final-summary.md has the complete evidence write-up: repository/deployment state, what was fixed vs. handed off, test results, and known limitations stated plainly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
727c19a779
commit
57992bf153
@@ -243,11 +243,12 @@ test("data quality: manual scan runs and shows a result summary", async ({ page,
|
||||
test("automation page: status filter and retry button work", async ({ page, request }) => {
|
||||
await resetDemoData(request);
|
||||
await page.goto("/automation");
|
||||
await expect(page.locator(".data-table")).toBeVisible();
|
||||
const jobsTable = page.getByRole("table", { name: "Automation jobs" });
|
||||
await expect(jobsTable).toBeVisible();
|
||||
|
||||
await page.getByLabel("Status").selectOption("failed");
|
||||
await expect(page.locator(".data-table tbody tr").first()).toBeVisible();
|
||||
const failedRowCountBefore = await page.locator(".data-table tbody tr").count();
|
||||
await expect(jobsTable.locator("tbody tr").first()).toBeVisible();
|
||||
const failedRowCountBefore = await jobsTable.locator("tbody tr").count();
|
||||
const retryButton = page.getByRole("button", { name: "Retry" }).first();
|
||||
await expect(retryButton).toBeVisible();
|
||||
await retryButton.click();
|
||||
@@ -256,7 +257,7 @@ test("automation page: status filter and retry button work", async ({ page, requ
|
||||
// filtered to "failed" — the row correctly disappears from this view rather than
|
||||
// showing "pending" in place. Confirm the filtered list shrank by one.
|
||||
await expect(async () => {
|
||||
const count = await page.locator(".data-table tbody tr").count();
|
||||
const count = await jobsTable.locator("tbody tr").count();
|
||||
expect(count).toBe(failedRowCountBefore - 1);
|
||||
}).toPass({ timeout: 5000 });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user