mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-17 17:56:46 +00:00
26 lines
995 B
Python
26 lines
995 B
Python
|
|
import pytest
|
||
|
|
from unittest.mock import patch, MagicMock
|
||
|
|
import argparse
|
||
|
|
from setup.cli.commands.install import get_components_to_install
|
||
|
|
|
||
|
|
class TestGetComponents:
|
||
|
|
@patch('setup.cli.commands.install.select_mcp_servers')
|
||
|
|
def test_get_components_to_install_interactive_mcp(self, mock_select_mcp):
|
||
|
|
# Arrange
|
||
|
|
mock_registry = MagicMock()
|
||
|
|
mock_config_manager = MagicMock()
|
||
|
|
mock_config_manager._installation_context = {}
|
||
|
|
mock_select_mcp.return_value = ['magic']
|
||
|
|
|
||
|
|
args = argparse.Namespace(components=['mcp'])
|
||
|
|
|
||
|
|
# Act
|
||
|
|
components = get_components_to_install(args, mock_registry, mock_config_manager)
|
||
|
|
|
||
|
|
# Assert
|
||
|
|
mock_select_mcp.assert_called_once()
|
||
|
|
assert 'mcp' in components
|
||
|
|
assert 'mcp_docs' in components # Should be added automatically
|
||
|
|
assert hasattr(mock_config_manager, '_installation_context')
|
||
|
|
assert mock_config_manager._installation_context['selected_mcp_servers'] == ['magic']
|