skillhub/skillhub-cli/tests/skill-name.test.ts
chenbaowang 6c0d4f4f16 feat(skillhub-cli): add skillhub CLI with interactive multi-agent support
- Interactive agent selection for install/uninstall/list
- Namespace search selection for unspecified namespace
- --skill-version option to skip interactive selection
- --from option for local/github source installation
- Remove deprecated add command (use install --from instead)
- Path-based grouping for uninstall results
2026-04-14 10:21:09 +08:00

34 lines
1.1 KiB
TypeScript

import { describe, it, expect } from "vitest";
import { parseSkillName } from "../src/core/skill-name.js";
describe("parseSkillName", () => {
it("should parse namespace/slug format", () => {
const result = parseSkillName("global/test");
expect(result.namespace).toBe("global");
expect(result.slug).toBe("test");
});
it("should use default namespace for plain slug", () => {
const result = parseSkillName("test");
expect(result.namespace).toBe("global");
expect(result.slug).toBe("test");
});
it("should allow custom default namespace", () => {
const result = parseSkillName("test", "vision2group");
expect(result.namespace).toBe("vision2group");
expect(result.slug).toBe("test");
});
it("should handle team/namespace format", () => {
const result = parseSkillName("vision2group/test-publish");
expect(result.namespace).toBe("vision2group");
expect(result.slug).toBe("test-publish");
});
it("should handle slug with multiple slashes (use first two parts)", () => {
const result = parseSkillName("a/b/c");
expect(result.namespace).toBe("a");
expect(result.slug).toBe("b/c");
});
});