fix: split agent permission and skill tabs
This commit is contained in:
@@ -120,23 +120,66 @@ test("boss-agent status treats token-backed devices as bound and renders enterpr
|
||||
assert.match(html, /boss-agent/);
|
||||
assert.match(html, /企业电脑接入端/);
|
||||
assert.match(html, /本机权限获取/);
|
||||
assert.match(html, /完整接管待补齐/);
|
||||
assert.match(html, /一次完整授权/);
|
||||
assert.match(html, /后续静默使用/);
|
||||
assert.match(html, /href="#permissions"><span>本机权限获取<\/span>/);
|
||||
assert.match(html, /href="#skills"><span>Skill<\/span>/);
|
||||
assert.match(html, /href="\/boss-agent\?tab=permissions"><span>本机权限获取<\/span>/);
|
||||
assert.match(html, /href="\/boss-agent\?tab=skills"><span>Skill<\/span>/);
|
||||
assert.match(html, /class="active" href="\/boss-agent\?tab=overview"/);
|
||||
assert.doesNotMatch(html, /<section class="sidebar-card">/);
|
||||
assert.doesNotMatch(html, /<div class="sidebar-title">本机权限获取<\/div>/);
|
||||
assert.match(html, /api\/v1\/boss-agent\/permissions\/open\?target=all/);
|
||||
assert.match(html, /api\/v1\/boss-agent\/permissions\/open\?target=fullDiskAccess/);
|
||||
assert.match(html, /Skill/);
|
||||
assert.match(html, /bb-browser/);
|
||||
assert.match(html, /DeepSeek V4/);
|
||||
assert.match(html, /默认公司/);
|
||||
assert.doesNotMatch(html, /boss-secret-token/);
|
||||
assert.doesNotMatch(html, /<h2>本机电脑权限状态<\/h2>/);
|
||||
});
|
||||
|
||||
test("boss-agent permission and skill menu entries render as separate tab pages", () => {
|
||||
const status = buildBossAgentStatus(
|
||||
{
|
||||
deviceId: "mac-studio",
|
||||
name: "Mac Studio",
|
||||
avatar: "M",
|
||||
account: "krisolo",
|
||||
controlPlaneUrl: "https://boss.hyzq.net",
|
||||
token: "boss-secret-token",
|
||||
primaryApiLabel: "DeepSeek V4",
|
||||
license: {
|
||||
enterpriseName: "默认公司",
|
||||
status: "valid",
|
||||
},
|
||||
},
|
||||
{
|
||||
lastHeartbeatOk: true,
|
||||
lastSkills: [
|
||||
{ name: "bb-browser", category: "MacBook Air", path: "/Users/jas/.codex/skills/bb-browser/SKILL.md" },
|
||||
],
|
||||
lastSkillSyncOk: true,
|
||||
},
|
||||
{
|
||||
permissions: {
|
||||
accessibility: "granted",
|
||||
screenRecording: "granted",
|
||||
automation: "granted",
|
||||
fullDiskAccess: "missing",
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
const permissionsHtml = renderBossAgentHtml(status, { activeTab: "permissions" });
|
||||
assert.match(permissionsHtml, /class="active" href="\/boss-agent\?tab=permissions"/);
|
||||
assert.match(permissionsHtml, /<h2>一次完整授权<\/h2>/);
|
||||
assert.match(permissionsHtml, /完整接管待补齐/);
|
||||
assert.match(permissionsHtml, /后续静默使用/);
|
||||
assert.match(permissionsHtml, /api\/v1\/boss-agent\/permissions\/open\?target=all/);
|
||||
assert.match(permissionsHtml, /api\/v1\/boss-agent\/permissions\/open\?target=fullDiskAccess/);
|
||||
assert.doesNotMatch(permissionsHtml, /<h2>Skill 部署情况<\/h2>/);
|
||||
|
||||
const skillsHtml = renderBossAgentHtml(status, { activeTab: "skills" });
|
||||
assert.match(skillsHtml, /class="active" href="\/boss-agent\?tab=skills"/);
|
||||
assert.match(skillsHtml, /<h2>Skill 部署情况<\/h2>/);
|
||||
assert.match(skillsHtml, /bb-browser/);
|
||||
assert.doesNotMatch(skillsHtml, /<h2>一次完整授权<\/h2>/);
|
||||
});
|
||||
|
||||
test("boss-agent unbound HTML renders a real scannable QR image when qrcode is available", async () => {
|
||||
const status = buildBossAgentStatus(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user