test: massive test coverage expansion (+1,437 tests, 22 new files)

Expand test coverage across all layers via 14 parallel agents:

Unit tests (3,378 total, +534):
- First-ever AI sidecar tests (157 tests covering bridge lifecycle, all 12 tool modules)
- API route infrastructure (auth, pipeline, batch, settings, teams, roles, audit, api-keys, files, docs)
- Lib coverage improvements (audit 7%->95%, worker-pool 33%->100%)
- Web store/lib gap fills (features-store, tool-registry)

Integration tests (4,403 total, +903):
- Expanded 19 tool test files with parameter variations, format edge cases, boundary values
- Cross-format matrix: 290 tests covering 14 tools x 17 formats
- Adversarial/edge cases: 63 tests for extreme inputs, concurrent requests, corrupted files

E2E-Docker (125 new tests):
- Expanded 8 spec files + 1 new file covering all 49 tools
- Added HEIC/format handling, auth failures, download verification

GUI E2E (expanded 28 spec files):
- Navigation, responsive layout, keyboard shortcuts
- All 51 tool UIs with settings, processing, display modes
- Batch/pipeline workflows, settings/RBAC, visual regression
- Resilience, accessibility (ARIA, contrast, focus), performance budgets
This commit is contained in:
SnapOtter
2026-05-09 09:02:29 +08:00
parent 4f0fbade6d
commit 649ad5db9e
138 changed files with 22105 additions and 327 deletions
+3 -11
View File
@@ -53,11 +53,7 @@ function extractActorId(details: Record<string, unknown>): string | null {
}
function extractActorUsername(details: Record<string, unknown>): string {
return (
(details.username as string) ??
(details.newUsername as string) ??
"system"
);
return (details.username as string) ?? (details.newUsername as string) ?? "system";
}
// ---------------------------------------------------------------------------
@@ -115,9 +111,7 @@ describe("audit helpers", () => {
});
it("prefers userId over adminId when both are present", () => {
expect(extractActorId({ userId: "u-123", adminId: "a-456" })).toBe(
"u-123",
);
expect(extractActorId({ userId: "u-123", adminId: "a-456" })).toBe("u-123");
});
it("returns null when neither userId nor adminId is present", () => {
@@ -139,9 +133,7 @@ describe("audit helpers", () => {
});
it("prefers username over newUsername when both are present", () => {
expect(
extractActorUsername({ username: "alice", newUsername: "bob" }),
).toBe("alice");
expect(extractActorUsername({ username: "alice", newUsername: "bob" })).toBe("alice");
});
it('returns "system" when neither username nor newUsername is present', () => {