Files
memind/skills-registry.test.mjs
T
Your Name b0f5d6a51c Extract memind_adm admin server, add local dev tooling, and remove image-generation.
Split platform admin and ops APIs into standalone admin-server.mjs with network guards; simplify billing to RMB token pricing, refactor user auth, and add rsync deploy plus local-test scripts and docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 16:39:39 -07:00

51 lines
1.7 KiB
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import {
applySkillGrantsToCapabilities,
DEFAULT_USER_SKILLS,
listPlatformSkillCatalog,
normalizeSkillPatch,
resolveSkillMap,
} from './skills-registry.mjs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
const h5Root = path.dirname(fileURLToPath(import.meta.url));
test('lists static-page-publish in platform catalog', () => {
const catalog = listPlatformSkillCatalog(h5Root);
assert.ok(catalog.some((item) => item.name === 'static-page-publish'));
});
test('granting publish skill enables static_publish capability', () => {
const caps = applySkillGrantsToCapabilities(
{ static_publish: false, skills: false },
{ 'static-page-publish': true },
);
assert.equal(caps.static_publish, true);
assert.equal(caps.skills, true);
});
test('resolveSkillMap prefers user overrides', () => {
const catalog = listPlatformSkillCatalog(h5Root);
const resolved = resolveSkillMap(
{ 'static-page-publish': false },
{ 'static-page-publish': true },
catalog,
);
assert.equal(resolved['static-page-publish'], true);
});
test('normalizeSkillPatch ignores unknown skills', () => {
const catalog = listPlatformSkillCatalog(h5Root);
assert.deepEqual(normalizeSkillPatch(catalog, { unknown: true }), {});
});
test('DEFAULT_USER_SKILLS enables common platform skills', () => {
assert.equal(DEFAULT_USER_SKILLS.web, true);
assert.equal(DEFAULT_USER_SKILLS.search, true);
assert.equal(DEFAULT_USER_SKILLS['form-builder'], true);
assert.equal(DEFAULT_USER_SKILLS['table-viewer'], true);
assert.equal(DEFAULT_USER_SKILLS['static-page-publish'], false);
});