claude-harness/dsh/tests/message.test.mjs

25 lines
911 B
JavaScript

import assert from 'node:assert/strict'
import test from 'node:test'
import { createUserMessage } from '../bundle/lib/message.js'
test('createUserMessage returns a frozen user message with a fresh id', () => {
const message = createUserMessage({
content: [{ type: 'text', text: 'hello' }],
source: { kind: 'user' },
})
assert.equal(message.role, 'user')
assert.match(message.id, /^[0-9a-f-]{36}$/)
assert.deepEqual(message.content, [{ type: 'text', text: 'hello' }])
assert.deepEqual(message.source, { kind: 'user' })
assert.ok(Object.isFrozen(message))
assert.ok(Object.isFrozen(message.content))
assert.ok(Object.isFrozen(message.content[0]))
})
test('createUserMessage does not reuse an id', () => {
const a = createUserMessage({ content: [], source: { kind: 'user' } })
const b = createUserMessage({ content: [], source: { kind: 'user' } })
assert.notEqual(a.id, b.id)
})