First Release of Claw3D (#11)

Co-authored-by: iamlukethedev <iamlukethedev@users.noreply.github.com>
This commit is contained in:
Luke The Dev
2026-03-19 23:14:04 -05:00
committed by GitHub
parent 5ea96b2650
commit 4fa4f13558
431 changed files with 105438 additions and 14 deletions
+44
View File
@@ -0,0 +1,44 @@
import { describe, expect, it } from "vitest";
import {
AGENT_STATUS_BADGE_CLASS,
AGENT_STATUS_LABEL,
GATEWAY_STATUS_BADGE_CLASS,
GATEWAY_STATUS_LABEL,
NEEDS_APPROVAL_BADGE_CLASS,
resolveAgentStatusBadgeClass,
resolveAgentStatusLabel,
resolveGatewayStatusBadgeClass,
resolveGatewayStatusLabel,
} from "@/features/agents/components/colorSemantics";
describe("colorSemantics", () => {
it("maps agent statuses to semantic badge classes and labels", () => {
expect(AGENT_STATUS_LABEL.idle).toBe("Idle");
expect(AGENT_STATUS_LABEL.running).toBe("Running");
expect(AGENT_STATUS_LABEL.error).toBe("Error");
expect(AGENT_STATUS_BADGE_CLASS.idle).toBe("ui-badge-status-idle");
expect(AGENT_STATUS_BADGE_CLASS.running).toBe("ui-badge-status-running");
expect(AGENT_STATUS_BADGE_CLASS.error).toBe("ui-badge-status-error");
expect(resolveAgentStatusLabel("idle")).toBe("Idle");
expect(resolveAgentStatusBadgeClass("running")).toBe("ui-badge-status-running");
});
it("maps gateway statuses to semantic badge classes and labels", () => {
expect(GATEWAY_STATUS_LABEL.disconnected).toBe("Disconnected");
expect(GATEWAY_STATUS_LABEL.connecting).toBe("Connecting");
expect(GATEWAY_STATUS_LABEL.connected).toBe("Connected");
expect(GATEWAY_STATUS_BADGE_CLASS.disconnected).toBe("ui-badge-status-disconnected");
expect(GATEWAY_STATUS_BADGE_CLASS.connecting).toBe("ui-badge-status-connecting");
expect(GATEWAY_STATUS_BADGE_CLASS.connected).toBe("ui-badge-status-connected");
expect(resolveGatewayStatusLabel("connected")).toBe("Connected");
expect(resolveGatewayStatusBadgeClass("disconnected")).toBe("ui-badge-status-disconnected");
});
it("keeps approval state on its own semantic class", () => {
expect(NEEDS_APPROVAL_BADGE_CLASS).toBe("ui-badge-approval");
});
});