arcananex-synapse
Version:
Agentic AI framework
71 lines (59 loc) • 2.8 kB
text/typescript
import * as cut from './message-builder';
describe('BedrockPayloadBuilder', () => {
it('should be implemented', () => {
expect(cut.BedrockPayloadBuilder).toBeDefined();
expect(cut.BedrockPayloadBuilder.prototype.setRole).toBeDefined();
expect(typeof cut.BedrockPayloadBuilder.prototype.setRole).toBe('function');
expect(cut.BedrockPayloadBuilder.prototype.addContent).toBeDefined();
expect(typeof cut.BedrockPayloadBuilder.prototype.addContent).toBe('function');
expect(cut.BedrockPayloadBuilder.prototype.build).toBeDefined();
expect(typeof cut.BedrockPayloadBuilder.prototype.build).toBe('function');
});
it('should set role and add content correctly', () => {
const builder = new cut.BedrockPayloadBuilder();
builder.setRole('user');
builder.addContent('Hello, how are you?');
const messages = builder.build();
expect(messages[0].role).toBe('user');
expect(messages[0].content).toEqual([{ text: 'Hello, how are you?' }]);
});
it('should return empty content and role to assistant when no content is added', () => {
const builder = new cut.BedrockPayloadBuilder('assistant');
const messages = builder.build();
expect(messages).not.toEqual([])
expect(messages[0].role).toBe('assistant');
expect(messages[0].content).toEqual([]);
});
});
describe('PayloadBuilder', () => {
it('should be implemented', () => {
expect(cut.PayloadBuilder).toBeDefined();
expect(cut.PayloadBuilder.prototype.setRole).toBeDefined();
expect(typeof cut.PayloadBuilder.prototype.setRole).toBe('function');
expect(cut.PayloadBuilder.prototype.addMessage).toBeDefined();
expect(typeof cut.PayloadBuilder.prototype.addMessage).toBe('function');
expect(cut.PayloadBuilder.prototype.build).toBeDefined();
expect(typeof cut.PayloadBuilder.prototype.build).toBe('function');
});
it('should set role and add content correctly', () => {
const builder = new cut.PayloadBuilder();
builder.setRole('user');
builder.addMessage('Hello, how are you?');
const messages = builder.build();
expect(messages[0].role).toBe('user');
expect(messages[0].content).toEqual('Hello, how are you?');
builder.setRole('assistant');
builder.addMessage('More message');
const moreMessages = builder.build();
expect(moreMessages.length).toBe(2);
expect(moreMessages[0].role).toBe('user');
expect(moreMessages[1].role).toBe('assistant');
expect(moreMessages[0].content).toEqual('Hello, how are you?');
expect(moreMessages[1].content).toEqual('More message');
});
it('should return empty messages when no message is added', () => {
const builder = new cut.PayloadBuilder('assistant');
const messages = builder.build();
expect(messages).toEqual([]);
});
});