mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-31 12:19:37 +02:00
35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
/**
|
|
* Regression coverage for the GAN evaluator's live-browser capability.
|
|
*
|
|
* Run with: node tests/ci/gan-evaluator-tools.test.js
|
|
*/
|
|
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const evaluatorPath = path.join(__dirname, '..', '..', 'agents', 'gan-evaluator.md');
|
|
const content = fs.readFileSync(evaluatorPath, 'utf8');
|
|
const frontmatter = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
|
|
|
|
assert.ok(frontmatter, 'gan-evaluator.md should have frontmatter');
|
|
const toolsLine = frontmatter[1].match(/^tools:\s*(.+)$/m);
|
|
assert.ok(toolsLine, 'gan-evaluator.md should declare tools');
|
|
|
|
const tools = new Set(toolsLine[1].split(',').map(tool => tool.trim()));
|
|
for (const tool of [
|
|
'mcp__playwright__browser_navigate',
|
|
'mcp__playwright__browser_click',
|
|
'mcp__playwright__browser_take_screenshot',
|
|
'mcp__playwright__browser_snapshot',
|
|
'mcp__playwright__browser_type',
|
|
'mcp__playwright__browser_fill_form',
|
|
]) {
|
|
assert.ok(tools.has(tool), `gan-evaluator.md should grant ${tool}`);
|
|
}
|
|
|
|
assert.match(content, /\*\*Achieved:\*\* `playwright` \| `screenshot` \| `code-only`/);
|
|
assert.match(content, /mode that was actually completed/);
|
|
|
|
console.log('GAN evaluator tools and achieved-mode contract are present.');
|