BMAD-METHOD/bmad-claude-integration/tests/harness/golden-validation.test.js

40 lines
1.2 KiB
JavaScript

const { describe, test, expect } = require('@jest/globals');
const fs = require('fs').promises;
const path = require('path');
describe('BMAD Golden Test Validation', () => {
let goldenTests;
beforeAll(async () => {
const summaryPath = path.join(__dirname, 'golden', 'summary.json');
const summary = JSON.parse(await fs.readFile(summaryPath, 'utf8'));
goldenTests = await Promise.all(
summary.scenarios.map(async (scenario) => {
const testPath = path.join(__dirname, 'golden', `${scenario.id}.json`);
return JSON.parse(await fs.readFile(testPath, 'utf8'));
})
);
});
test('all golden tests should have expected patterns', () => {
for (const test of goldenTests) {
expect(test.validation.patternsFound.length).toBeGreaterThan(0);
}
});
test('elicitation should use natural language', () => {
for (const test of goldenTests) {
expect(test.validation.elicitationNatural).toBe(true);
}
});
test('context should be preserved in multi-agent workflows', () => {
const multiAgentTests = goldenTests.filter(t => t.agent === 'multiple');
for (const test of multiAgentTests) {
expect(test.validation.contextPreserved).toBe(true);
}
});
});