mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 14:25: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}$/)
|
|
})
|
|
})
|