feat(projects): add interactive AI app scaffold skill
This commit is contained in:
@@ -471,6 +471,33 @@ describe('PluginsView', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('describes executable Skill scripts without calling them Pi extensions', () => {
|
||||
const scriptSkill: PluginWorkspaceItem = {
|
||||
...localItem,
|
||||
key: 'local:makelore-project-scaffold',
|
||||
pluginId: 'makelore-project-scaffold',
|
||||
packageId: 'makelore-project-scaffold',
|
||||
title: 'MakeLore 项目初始化',
|
||||
local: {
|
||||
...localItem.local!,
|
||||
packageId: 'makelore-project-scaffold',
|
||||
displayName: 'MakeLore 项目初始化',
|
||||
kind: 'skill-only',
|
||||
skillEntries: [{
|
||||
id: 'makelore-project-scaffold',
|
||||
entryPath: 'skills/makelore-project-scaffold/SKILL.md',
|
||||
}],
|
||||
extensionEntries: [],
|
||||
},
|
||||
};
|
||||
|
||||
render(<MemoryRouter><PluginsView {...props(scriptSkill)} /></MemoryRouter>);
|
||||
|
||||
const dialog = screen.getByRole('dialog', { name: 'MakeLore 项目初始化' });
|
||||
expect(dialog).toHaveTextContent('包含可执行 Skill 脚本');
|
||||
expect(dialog).not.toHaveTextContent('包含可执行 Pi extension');
|
||||
});
|
||||
|
||||
it('shows cached, suspended, retired, and retained-device reason copy with an explicit sign-in action', () => {
|
||||
const unavailableItem: PluginWorkspaceItem = {
|
||||
...officialItem,
|
||||
|
||||
Reference in New Issue
Block a user