mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-14 10:17:52 -06:00
Fix tests mocking container tree instead of quality manager
Contributes to issue CURA-6600.
This commit is contained in:
parent
01c0472872
commit
be36ae278b
1 changed files with 51 additions and 54 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
# Copyright (c) 2019 Ultimaker B.V.
|
||||||
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
@ -5,32 +8,25 @@ from typing import Any, Dict, List
|
||||||
|
|
||||||
from cura.Settings.IntentManager import IntentManager
|
from cura.Settings.IntentManager import IntentManager
|
||||||
from cura.Machines.QualityGroup import QualityGroup
|
from cura.Machines.QualityGroup import QualityGroup
|
||||||
from cura.Machines.QualityManager import QualityManager
|
|
||||||
|
|
||||||
from tests.Settings.MockContainer import MockContainer
|
from tests.Settings.MockContainer import MockContainer
|
||||||
|
|
||||||
|
@pytest.fixture()
|
||||||
|
def mock_container_tree() -> MagicMock:
|
||||||
|
container_tree = MagicMock()
|
||||||
|
container_tree.getCurrentQualityGroups = MagicMock(return_value = mocked_qualitygroup_metadata)
|
||||||
|
return container_tree
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def quality_manager(application, container_registry, global_stack) -> QualityManager:
|
def intent_manager(application, extruder_manager, machine_manager, container_registry, global_stack) -> IntentManager:
|
||||||
application.getGlobalContainerStack = MagicMock(return_value = global_stack)
|
|
||||||
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
|
||||||
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
|
||||||
manager = QualityManager()
|
|
||||||
return manager
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
|
||||||
def intent_manager(application, extruder_manager, machine_manager, quality_manager, container_registry, global_stack) -> IntentManager:
|
|
||||||
application.getExtruderManager = MagicMock(return_value = extruder_manager)
|
application.getExtruderManager = MagicMock(return_value = extruder_manager)
|
||||||
application.getGlobalContainerStack = MagicMock(return_value = global_stack)
|
application.getGlobalContainerStack = MagicMock(return_value = global_stack)
|
||||||
application.getMachineManager = MagicMock(return_value = machine_manager)
|
application.getMachineManager = MagicMock(return_value = machine_manager)
|
||||||
application.getQualityManager = MagicMock(return_value = quality_manager)
|
|
||||||
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
||||||
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
||||||
manager = IntentManager()
|
manager = IntentManager()
|
||||||
return manager
|
return manager
|
||||||
|
|
||||||
|
|
||||||
mocked_intent_metadata = [
|
mocked_intent_metadata = [
|
||||||
{"id": "um3_aa4_pla_smooth_normal", "GUID": "abcxyz", "definition": "ultimaker3", "variant": "AA 0.4",
|
{"id": "um3_aa4_pla_smooth_normal", "GUID": "abcxyz", "definition": "ultimaker3", "variant": "AA 0.4",
|
||||||
"material_id": "generic_pla", "intent_category": "smooth", "quality_type": "normal"},
|
"material_id": "generic_pla", "intent_category": "smooth", "quality_type": "normal"},
|
||||||
|
@ -65,14 +61,12 @@ def mockFindContainers(**kwargs) -> List[MockContainer]:
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def doSetup(application, extruder_manager, quality_manager, container_registry, global_stack) -> None:
|
def doSetup(application, extruder_manager, container_registry, global_stack) -> None:
|
||||||
container_registry.findContainersMetadata = MagicMock(side_effect = mockFindMetadata)
|
container_registry.findContainersMetadata = MagicMock(side_effect = mockFindMetadata)
|
||||||
container_registry.findContainers = MagicMock(side_effect = mockFindContainers)
|
container_registry.findContainers = MagicMock(side_effect = mockFindContainers)
|
||||||
|
|
||||||
quality_manager.getQualityGroups = MagicMock(return_value = mocked_qualitygroup_metadata)
|
for qualitygroup in mocked_qualitygroup_metadata.values():
|
||||||
for _, qualitygroup in mocked_qualitygroup_metadata.items():
|
|
||||||
qualitygroup.node_for_global = MagicMock(name = "Node for global")
|
qualitygroup.node_for_global = MagicMock(name = "Node for global")
|
||||||
application.getQualityManager = MagicMock(return_value = quality_manager)
|
|
||||||
|
|
||||||
global_stack.definition = MockContainer({"id": "ultimaker3"})
|
global_stack.definition = MockContainer({"id": "ultimaker3"})
|
||||||
application.getGlobalContainerStack = MagicMock(return_value = global_stack)
|
application.getGlobalContainerStack = MagicMock(return_value = global_stack)
|
||||||
|
@ -100,9 +94,10 @@ def test_intentCategories(application, intent_manager, container_registry):
|
||||||
assert "smooth" in categories, "smooth should be in categories"
|
assert "smooth" in categories, "smooth should be in categories"
|
||||||
|
|
||||||
|
|
||||||
def test_getCurrentAvailableIntents(application, extruder_manager, quality_manager, intent_manager, container_registry, global_stack):
|
def test_getCurrentAvailableIntents(application, extruder_manager, intent_manager, container_registry, global_stack, mock_container_tree):
|
||||||
doSetup(application, extruder_manager, quality_manager, container_registry, global_stack)
|
doSetup(application, extruder_manager, container_registry, global_stack)
|
||||||
|
|
||||||
|
with patch("cura.Machines.ContainerTree.ContainerTree.getInstance", MagicMock(return_value = mock_container_tree)):
|
||||||
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
||||||
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
||||||
intents = intent_manager.getCurrentAvailableIntents()
|
intents = intent_manager.getCurrentAvailableIntents()
|
||||||
|
@ -113,9 +108,10 @@ def test_getCurrentAvailableIntents(application, extruder_manager, quality_manag
|
||||||
assert len(intents) == 2 # Or 4? 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):
|
def test_currentAvailableIntentCategories(application, extruder_manager, intent_manager, container_registry, global_stack, mock_container_tree):
|
||||||
doSetup(application, extruder_manager, quality_manager, container_registry, global_stack)
|
doSetup(application, extruder_manager, container_registry, global_stack)
|
||||||
|
|
||||||
|
with patch("cura.Machines.ContainerTree.ContainerTree.getInstance", MagicMock(return_value = mock_container_tree)):
|
||||||
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
||||||
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
||||||
with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance", MagicMock(return_value = extruder_manager)):
|
with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance", MagicMock(return_value = extruder_manager)):
|
||||||
|
@ -126,9 +122,10 @@ def test_currentAvailableIntentCategories(application, extruder_manager, quality
|
||||||
assert len(categories) == 3
|
assert len(categories) == 3
|
||||||
|
|
||||||
|
|
||||||
def test_selectIntent(application, extruder_manager, quality_manager, intent_manager, container_registry, global_stack):
|
def test_selectIntent(application, extruder_manager, intent_manager, container_registry, global_stack, mock_container_tree):
|
||||||
doSetup(application, extruder_manager, quality_manager, container_registry, global_stack)
|
doSetup(application, extruder_manager, container_registry, global_stack)
|
||||||
|
|
||||||
|
with patch("cura.Machines.ContainerTree.ContainerTree.getInstance", MagicMock(return_value = mock_container_tree)):
|
||||||
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value = application)):
|
||||||
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value = container_registry)):
|
||||||
with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance", MagicMock(return_value = extruder_manager)):
|
with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance", MagicMock(return_value = extruder_manager)):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue