import { describe, it, expect } from 'vitest';
import { TestConductor } from '@ensemble-edge/conductor/testing';
describe('validate member', () => {
it('should pass high-quality content', async () => {
const conductor = await TestConductor.create({
mocks: {
ai: {
responses: {
'generate-content': {
text: 'High-quality content',
score: 0.95
}
}
}
}
});
const result = await conductor.executeEnsemble('generate-quality-content', {
topic: 'AI'
});
expect(result).toBeSuccessful();
expect(result.output.quality.score).toBeGreaterThan(0.8);
expect(result.output.quality.passed).toBe(true);
expect(result.output.quality.attempts).toBe(1);
});
it('should retry low-quality content', async () => {
let attempts = 0;
const conductor = await TestConductor.create({
mocks: {
ai: {
handler: async () => {
attempts++;
return {
text: 'Content',
score: attempts === 1 ? 0.6 : 0.9 // Low then high
};
}
}
}
});
const result = await conductor.executeEnsemble('generate-quality-content', {
topic: 'AI'
});
expect(result).toBeSuccessful();
expect(result.output.quality.attempts).toBe(2);
expect(result.output.quality.passed).toBe(true);
});
it('should require progressive improvement', async () => {
let attempts = 0;
const conductor = await TestConductor.create({
mocks: {
ai: {
handler: async () => {
attempts++;
// Scores: 0.7, 0.75, 0.73 (rejected), 0.80, 0.87
const scores = [0.7, 0.75, 0.73, 0.80, 0.87];
return {
text: 'Content',
score: scores[attempts - 1]
};
}
}
}
});
const result = await conductor.executeEnsemble('progressive-quality', {
topic: 'AI'
});
expect(result).toBeSuccessful();
expect(result.output.finalScore).toBeGreaterThanOrEqual(0.85);
expect(result.output.attempts).toBeLessThanOrEqual(5);
});
});