Files
mini-openclaw-v2/scripts/test_completion_ui.cjs
T

12 lines
1.1 KiB
JavaScript

const assert=require('node:assert/strict'),fs=require('node:fs');
const read=p=>fs.readFileSync(p,'utf8');
const model=read('src/components/xingbang/ModelConnectionPanel.tsx');
for(const route of ['/library/model-settings','/library/model-settings/probe'])assert(model.includes(route));
assert(model.includes('type="password"'));assert(model.includes('managed_by'));assert(model.includes('api_key:key||null'));
const feedback=read('src/components/xingbang/MeetingFeedbackPanel.tsx');assert(feedback.includes('/feedback'));assert(feedback.includes('rate===null'));assert(feedback.includes('report.excluded'));
assert(read('src/app/trajectory-center/page.tsx').includes('<MeetingFeedbackPanel'));
assert(read('src/components/xingbang/LeaseLibraryWorkbench.tsx').includes('<ModelConnectionPanel'));
assert(read('src/components/xingbang/TrajectoryPanel.tsx').includes('mapping_confirmed'));
const publish=read('src/components/xingbang/ImprovementPanel.tsx').match(/const canPublish[^;]+/)[0];assert(publish.includes('"admin"'));assert(!publish.includes('reviewer'));
console.log('completion-ui: PASS (source guards; not browser verification)');