45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
import fs from 'fs';
|
|
import path from 'path';
|
|
|
|
describe('Cursor Profile Initialization Functionality', () => {
|
|
let cursorProfileContent;
|
|
|
|
beforeAll(() => {
|
|
const cursorJsPath = path.join(
|
|
process.cwd(),
|
|
'src',
|
|
'profiles',
|
|
'cursor.js'
|
|
);
|
|
cursorProfileContent = fs.readFileSync(cursorJsPath, 'utf8');
|
|
});
|
|
|
|
test('cursor.js uses factory pattern with correct configuration', () => {
|
|
expect(cursorProfileContent).toContain("name: 'cursor'");
|
|
expect(cursorProfileContent).toContain("displayName: 'Cursor'");
|
|
expect(cursorProfileContent).toContain("rulesDir: '.cursor/rules'");
|
|
expect(cursorProfileContent).toContain("profileDir: '.cursor'");
|
|
});
|
|
|
|
test('cursor.js preserves .mdc extension in both input and output', () => {
|
|
expect(cursorProfileContent).toContain("fileExtension: '.mdc'");
|
|
expect(cursorProfileContent).toContain("targetExtension: '.mdc'");
|
|
// Should preserve cursor_rules.mdc filename
|
|
expect(cursorProfileContent).toContain(
|
|
"'cursor_rules.mdc': 'cursor_rules.mdc'"
|
|
);
|
|
});
|
|
|
|
test('cursor.js uses standard tool mappings (no tool renaming)', () => {
|
|
expect(cursorProfileContent).toContain('COMMON_TOOL_MAPPINGS.STANDARD');
|
|
// Should not contain custom tool mappings since cursor keeps original names
|
|
expect(cursorProfileContent).not.toContain('edit_file');
|
|
expect(cursorProfileContent).not.toContain('apply_diff');
|
|
});
|
|
|
|
test('cursor.js contains correct URL configuration', () => {
|
|
expect(cursorProfileContent).toContain("url: 'cursor.so'");
|
|
expect(cursorProfileContent).toContain("docsUrl: 'docs.cursor.com'");
|
|
});
|
|
});
|