chore: fix CI
This commit is contained in:
@@ -51,15 +51,16 @@ describe('Kiro Integration', () => {
|
||||
function mockCreateKiroStructure() {
|
||||
// This function simulates the actual kiro profile creation logic
|
||||
// It explicitly calls the mocked fs methods to ensure consistency with the test environment
|
||||
|
||||
|
||||
// Simulate directory creation calls - these will call the mocked mkdirSync
|
||||
fs.mkdirSync(path.join(tempDir, '.kiro'), { recursive: true });
|
||||
fs.mkdirSync(path.join(tempDir, '.kiro', 'steering'), { recursive: true });
|
||||
fs.mkdirSync(path.join(tempDir, '.kiro', 'settings'), { recursive: true });
|
||||
|
||||
// Create MCP config file at .kiro/mcp.json (not in settings subdirectory)
|
||||
// Create MCP config file at .kiro/settings/mcp.json
|
||||
// This will call the mocked writeFileSync
|
||||
fs.writeFileSync(
|
||||
path.join(tempDir, '.kiro', 'mcp.json'),
|
||||
path.join(tempDir, '.kiro', 'settings', 'mcp.json'),
|
||||
JSON.stringify({ mcpServers: {} }, null, 2)
|
||||
);
|
||||
|
||||
@@ -97,6 +98,12 @@ describe('Kiro Integration', () => {
|
||||
recursive: true
|
||||
}
|
||||
);
|
||||
expect(fs.mkdirSync).toHaveBeenCalledWith(
|
||||
path.join(tempDir, '.kiro', 'settings'),
|
||||
{
|
||||
recursive: true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
test('creates Kiro mcp.json with mcpServers format', () => {
|
||||
@@ -105,7 +112,7 @@ describe('Kiro Integration', () => {
|
||||
|
||||
// Assert
|
||||
expect(fs.writeFileSync).toHaveBeenCalledWith(
|
||||
path.join(tempDir, '.kiro', 'mcp.json'),
|
||||
path.join(tempDir, '.kiro', 'settings', 'mcp.json'),
|
||||
JSON.stringify({ mcpServers: {} }, null, 2)
|
||||
);
|
||||
});
|
||||
|
||||
@@ -44,8 +44,8 @@ describe('MCP Configuration Validation', () => {
|
||||
kiro: {
|
||||
shouldHaveMcp: true,
|
||||
expectedDir: '.kiro',
|
||||
expectedConfigName: 'mcp.json',
|
||||
expectedPath: '.kiro/mcp.json'
|
||||
expectedConfigName: 'settings/mcp.json',
|
||||
expectedPath: '.kiro/settings/mcp.json'
|
||||
},
|
||||
opencode: {
|
||||
shouldHaveMcp: true,
|
||||
@@ -134,6 +134,7 @@ describe('MCP Configuration Validation', () => {
|
||||
|
||||
test('should ensure all MCP-enabled profiles use proper directory structure', () => {
|
||||
const rootProfiles = ['opencode', 'claude', 'codex']; // Profiles that use root directory for config
|
||||
const nestedConfigProfiles = ['kiro']; // Profiles that use nested directories for config
|
||||
|
||||
RULE_PROFILES.forEach((profileName) => {
|
||||
const profile = getRulesProfile(profileName);
|
||||
@@ -146,6 +147,11 @@ describe('MCP Configuration Validation', () => {
|
||||
// Other root profiles normalize to just the filename (no ./ prefix)
|
||||
expect(profile.mcpConfigPath).toMatch(/^[\w_.]+$/);
|
||||
}
|
||||
} else if (nestedConfigProfiles.includes(profileName)) {
|
||||
// Profiles with nested config directories
|
||||
expect(profile.mcpConfigPath).toMatch(
|
||||
/^\.[\w-]+\/[\w-]+\/[\w_.]+$/
|
||||
);
|
||||
} else {
|
||||
// Other profiles should have config files in their specific directories
|
||||
expect(profile.mcpConfigPath).toMatch(/^\.[\w-]+\/[\w_.]+$/);
|
||||
@@ -353,6 +359,13 @@ describe('MCP Configuration Validation', () => {
|
||||
// Other root profiles normalize to just the filename
|
||||
expect(profile.mcpConfigPath).toBe(profile.mcpConfigName);
|
||||
}
|
||||
} else if (profileName === 'kiro') {
|
||||
// Kiro has a nested config structure
|
||||
const parts = profile.mcpConfigPath.split('/');
|
||||
expect(parts).toHaveLength(3); // Should be profileDir/settings/mcp.json
|
||||
expect(parts[0]).toBe(profile.profileDir);
|
||||
expect(parts[1]).toBe('settings');
|
||||
expect(parts[2]).toBe('mcp.json');
|
||||
} else {
|
||||
// Non-root profiles should have profileDir/configName structure
|
||||
const parts = profile.mcpConfigPath.split('/');
|
||||
|
||||
@@ -202,8 +202,8 @@ Use the .mdc extension for all rule files.`;
|
||||
expect(kiroProfile.displayName).toBe('Kiro');
|
||||
expect(kiroProfile.profileDir).toBe('.kiro');
|
||||
expect(kiroProfile.mcpConfig).toBe(true);
|
||||
expect(kiroProfile.mcpConfigName).toBe('mcp.json');
|
||||
expect(kiroProfile.mcpConfigPath).toBe('.kiro/mcp.json');
|
||||
expect(kiroProfile.mcpConfigName).toBe('settings/mcp.json');
|
||||
expect(kiroProfile.mcpConfigPath).toBe('.kiro/settings/mcp.json');
|
||||
expect(kiroProfile.includeDefaultRules).toBe(true);
|
||||
expect(kiroProfile.fileMap).toEqual({
|
||||
'rules/cursor_rules.mdc': 'kiro_rules.md',
|
||||
|
||||
@@ -215,8 +215,8 @@ describe('Rule Transformer - General', () => {
|
||||
},
|
||||
kiro: {
|
||||
mcpConfig: true,
|
||||
mcpConfigName: 'mcp.json',
|
||||
expectedPath: '.kiro/mcp.json'
|
||||
mcpConfigName: 'settings/mcp.json',
|
||||
expectedPath: '.kiro/settings/mcp.json'
|
||||
},
|
||||
opencode: {
|
||||
mcpConfig: true,
|
||||
|
||||
Reference in New Issue
Block a user