26 lines
923 B
JavaScript
26 lines
923 B
JavaScript
#!/usr/bin/env node
|
|
|
|
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const root = path.join(__dirname, '..');
|
|
|
|
test('root npm test covers bundled subprojects', () => {
|
|
const packageJson = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8'));
|
|
|
|
assert.match(packageJson.scripts.test, /npm test --prefix pi-extension/);
|
|
assert.match(packageJson.scripts.test, /npm test --prefix ponytail-mcp/);
|
|
});
|
|
|
|
test('CI installs MCP dependencies before root npm test', () => {
|
|
const workflow = fs.readFileSync(path.join(root, '.github', 'workflows', 'test.yml'), 'utf8');
|
|
|
|
assert.match(workflow, /npm install --prefix ponytail-mcp/);
|
|
assert.ok(
|
|
workflow.indexOf('npm install --prefix ponytail-mcp') < workflow.indexOf('npm test'),
|
|
'MCP dependencies must be installed before the root test command runs',
|
|
);
|
|
});
|