mirror of https://github.com/buster-so/buster.git
55 lines
1.7 KiB
TypeScript
55 lines
1.7 KiB
TypeScript
|
import { describe, expect, test } from 'vitest';
|
||
|
import analystWorkflow from '../../../src/workflows/analyst-workflow';
|
||
|
|
||
|
describe('Format Output Fix Tests', () => {
|
||
|
test('should not throw "Unrecognized input format" error when workflow runs', async () => {
|
||
|
const testInput = {
|
||
|
prompt: 'What are the top 10 accessory products by sales in the last 6 months?',
|
||
|
};
|
||
|
|
||
|
const mockRuntimeContext = {
|
||
|
userId: 'test-user',
|
||
|
chatId: 'test-thread',
|
||
|
dataSourceId: 'test-datasource',
|
||
|
dataSourceSyntax: 'postgresql',
|
||
|
organizationId: 'test-org',
|
||
|
todos: 'test todos',
|
||
|
};
|
||
|
|
||
|
// This test verifies that the workflow can be created and executed
|
||
|
// without throwing the "Unrecognized input format" error
|
||
|
expect(() => {
|
||
|
const run = analystWorkflow.createRun();
|
||
|
// We don't actually run it since it would need real data,
|
||
|
// but creating the run should not throw format errors
|
||
|
}).not.toThrow();
|
||
|
|
||
|
// Test that the workflow structure is correct
|
||
|
expect(analystWorkflow).toBeDefined();
|
||
|
expect(analystWorkflow.id).toBe('analyst-workflow');
|
||
|
});
|
||
|
|
||
|
test('workflow input schema should validate correctly', () => {
|
||
|
const validInput = {
|
||
|
prompt: 'Test prompt',
|
||
|
conversationHistory: [
|
||
|
{ role: 'user' as const, content: 'Hello' },
|
||
|
{ role: 'assistant' as const, content: 'Hi!' },
|
||
|
],
|
||
|
};
|
||
|
|
||
|
// Test that the input schema can parse valid input
|
||
|
expect(() => {
|
||
|
analystWorkflow.inputSchema.parse(validInput);
|
||
|
}).not.toThrow();
|
||
|
|
||
|
const minimalInput = {
|
||
|
prompt: 'Test prompt',
|
||
|
};
|
||
|
|
||
|
expect(() => {
|
||
|
analystWorkflow.inputSchema.parse(minimalInput);
|
||
|
}).not.toThrow();
|
||
|
});
|
||
|
});
|