22 lines
831 B
TypeScript
22 lines
831 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { errorMessage, fail, ok } from '../../../src/mcp/respond.js'
|
|
|
|
describe('respond helpers', () => {
|
|
it('ok wraps a JSON payload as text content', () => {
|
|
const r = ok({ a: 1 })
|
|
expect(r).toEqual({ content: [{ type: 'text', text: JSON.stringify({ a: 1 }) }] })
|
|
expect(r.isError).toBeUndefined()
|
|
})
|
|
it('fail returns an error result with the message text', () => {
|
|
const r = fail('boom')
|
|
expect(r.content).toEqual([{ type: 'text', text: 'boom' }])
|
|
expect(r.isError).toBe(true)
|
|
})
|
|
it('errorMessage extracts Error.message', () => {
|
|
expect(errorMessage(new Error('nope'))).toBe('nope')
|
|
})
|
|
it('errorMessage stringifies non-Errors', () => {
|
|
expect(errorMessage('plain')).toBe('plain')
|
|
})
|
|
})
|