diff --git a/cura/Machines/Models/IntentModel.py b/cura/Machines/Models/IntentModel.py index 7b81821244..87bcd08277 100644 --- a/cura/Machines/Models/IntentModel.py +++ b/cura/Machines/Models/IntentModel.py @@ -53,7 +53,7 @@ class IntentModel(ListModel): return quality_groups = quality_manager.getQualityGroups(global_stack) - for intent_category, quality_type in IntentManager.getInstance().currentAvailableIntents(): + for intent_category, quality_type in IntentManager.getInstance().getCurrentAvailableIntents(): if intent_category == self._intent_category: new_items.append({"name": quality_groups[quality_type].name, "quality_type": quality_type}) if self._intent_category == "default": #For Default we always list all quality types. We can't filter on available profiles since the empty intent is not a specific quality type. diff --git a/cura/Settings/IntentManager.py b/cura/Settings/IntentManager.py index 18a7191fd7..17e793b948 100644 --- a/cura/Settings/IntentManager.py +++ b/cura/Settings/IntentManager.py @@ -67,7 +67,7 @@ class IntentManager(QObject): # # \return A list of tuples of intent_category and quality_type. The actual # instance may vary per extruder. - def currentAvailableIntents(self) -> List[Tuple[str, str]]: + def getCurrentAvailableIntents(self) -> List[Tuple[str, str]]: application = cura.CuraApplication.CuraApplication.getInstance() global_stack = application.getGlobalContainerStack() if global_stack is None: diff --git a/tests/TestIntentManager.py b/tests/TestIntentManager.py index 06f80a2cd9..337af817d1 100644 --- a/tests/TestIntentManager.py +++ b/tests/TestIntentManager.py @@ -83,6 +83,7 @@ def doSetup(application, extruder_manager, quality_manager, container_registry, extruder_stack_b.variant = MockContainer({"name": "AA 0.4"}) extruder_stack_b.material = MockContainer({"base_file": "generic_pla"}) + application.getGlobalContainerStack().extruderList = [extruder_stack_a, extruder_stack_b] extruder_manager.getUsedExtruderStacks = MagicMock(return_value = [extruder_stack_a, extruder_stack_b]) @@ -98,18 +99,17 @@ def test_intentCategories(application, intent_manager, container_registry): assert "smooth" in categories, "smooth should be in categories" -def test_currentAvailableIntents(application, extruder_manager, quality_manager, intent_manager, container_registry, global_stack): +def test_getCurrentAvailableIntents(application, extruder_manager, quality_manager, intent_manager, container_registry, global_stack): doSetup(application, extruder_manager, quality_manager, container_registry, global_stack) - with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value=application)): - with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value=container_registry)): - with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance", MagicMock(return_value=extruder_manager)): - intents = intent_manager.currentAvailableIntents() - assert ("smooth", "normal") in intents - assert ("strong", "abnorm") in intents - #assert ("default", "normal") in intents # Pending to-do in 'IntentManager'. - #assert ("default", "abnorm") in intents # Pending to-do in 'IntentManager'. - assert len(intents) == 2 # Or 4? pending to-do in 'IntentManager'. + with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)): + with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)): + intents = intent_manager.getCurrentAvailableIntents() + assert ("smooth", "normal") in intents + assert ("strong", "abnorm") in intents + #assert ("default", "normal") in intents # Pending to-do in 'IntentManager'. + #assert ("default", "abnorm") in intents # Pending to-do in 'IntentManager'. + assert len(intents) == 2 # Or 4? pending to-do in 'IntentManager'. def test_currentAvailableIntentCategories(application, extruder_manager, quality_manager, intent_manager, container_registry, global_stack): @@ -131,7 +131,7 @@ def test_selectIntent(application, extruder_manager, quality_manager, intent_man with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value=application)): with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value=container_registry)): with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance", MagicMock(return_value=extruder_manager)): - intents = intent_manager.currentAvailableIntents() + intents = intent_manager.getCurrentAvailableIntents() for intent, quality in intents: intent_manager.selectIntent(intent, quality) extruder_stacks = extruder_manager.getUsedExtruderStacks()