mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-15 12:55:51 +00:00
52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { validateUuid, createAgentId } from "../uuid";
|
|
|
|
describe("validateUuid", () => {
|
|
test("validates correct UUID", () => {
|
|
const result = validateUuid("550e8400-e29b-41d4-a716-446655440000");
|
|
expect(result).toBe("550e8400-e29b-41d4-a716-446655440000");
|
|
});
|
|
|
|
test("validates uppercase UUID", () => {
|
|
const result = validateUuid("550E8400-E29B-41D4-A716-446655440000");
|
|
expect(result).toBe("550E8400-E29B-41D4-A716-446655440000");
|
|
});
|
|
|
|
test("returns null for non-string", () => {
|
|
expect(validateUuid(123)).toBeNull();
|
|
expect(validateUuid(null)).toBeNull();
|
|
expect(validateUuid(undefined)).toBeNull();
|
|
});
|
|
|
|
test("returns null for invalid UUID format", () => {
|
|
expect(validateUuid("not-a-uuid")).toBeNull();
|
|
expect(validateUuid("550e8400-e29b-41d4-a716")).toBeNull();
|
|
expect(validateUuid("550e8400e29b41d4a716446655440000")).toBeNull();
|
|
});
|
|
|
|
test("returns null for empty string", () => {
|
|
expect(validateUuid("")).toBeNull();
|
|
});
|
|
|
|
test("returns null for UUID with invalid chars", () => {
|
|
expect(validateUuid("550e8400-e29b-41d4-a716-44665544000g")).toBeNull();
|
|
});
|
|
|
|
test("returns null for UUID with leading/trailing whitespace", () => {
|
|
expect(validateUuid(" 550e8400-e29b-41d4-a716-446655440000")).toBeNull();
|
|
expect(validateUuid("550e8400-e29b-41d4-a716-446655440000 ")).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe("createAgentId", () => {
|
|
test("generates id without label in correct format", () => {
|
|
const id = createAgentId();
|
|
expect(id).toMatch(/^a[0-9a-f]{16}$/);
|
|
});
|
|
|
|
test("generates id with label in correct format", () => {
|
|
const id = createAgentId("compact");
|
|
expect(id).toMatch(/^acompact-[0-9a-f]{16}$/);
|
|
});
|
|
});
|