mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-11 16:57:51 -06:00
Merge branch 'feature_intent' into feature_intent_container_tree
Conflicts: .gitlab-ci.yml cura/Machines/MaterialManager.py cura/Machines/VariantManager.py cura/Settings/ContainerManager.py cura/Settings/MachineManager.py tests/TestMachineManager.py
This commit is contained in:
commit
6a8e1557c3
1383 changed files with 33204 additions and 35215 deletions
|
@ -1,7 +1,23 @@
|
|||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from cura.Settings.MachineManager import MachineManager
|
||||
|
||||
@pytest.fixture()
|
||||
def global_stack():
|
||||
stack = MagicMock(name = "Global Stack")
|
||||
stack.getId = MagicMock(return_value = "GlobalStack")
|
||||
return stack
|
||||
|
||||
@pytest.fixture()
|
||||
def machine_manager(application, extruder_manager, container_registry, global_stack) -> MachineManager:
|
||||
application.getExtruderManager = MagicMock(return_value = extruder_manager)
|
||||
application.getGlobalContainerStack = MagicMock(return_value = global_stack)
|
||||
with patch("cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance", MagicMock(return_value=container_registry)):
|
||||
manager = MachineManager(application)
|
||||
|
||||
return manager
|
||||
|
||||
@pytest.mark.skip(reason = "Outdated test")
|
||||
def test_setActiveMachine(machine_manager):
|
||||
registry = MagicMock()
|
||||
|
@ -18,6 +34,29 @@ def test_setActiveMachine(machine_manager):
|
|||
machine_manager._application.setGlobalContainerStack.assert_called_with(mocked_global_stack)
|
||||
|
||||
|
||||
def test_getMachine():
|
||||
registry = MagicMock()
|
||||
mocked_global_stack = MagicMock()
|
||||
mocked_global_stack.getId = MagicMock(return_value="test_machine")
|
||||
mocked_global_stack.definition.getId = MagicMock(return_value = "test")
|
||||
registry.findContainerStacks = MagicMock(return_value=[mocked_global_stack])
|
||||
with patch("cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance", MagicMock(return_value=registry)):
|
||||
assert MachineManager.getMachine("test") == mocked_global_stack
|
||||
|
||||
|
||||
def test_addMachine(machine_manager):
|
||||
registry = MagicMock()
|
||||
|
||||
mocked_stack = MagicMock()
|
||||
mocked_stack.getId = MagicMock(return_value="newlyCreatedStack")
|
||||
mocked_create_machine = MagicMock(name="createMachine", return_value = mocked_stack)
|
||||
machine_manager.setActiveMachine = MagicMock()
|
||||
with patch("cura.Settings.CuraStackBuilder.CuraStackBuilder.createMachine", mocked_create_machine):
|
||||
with patch("cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance", MagicMock(return_value=registry)):
|
||||
machine_manager.addMachine("derp")
|
||||
machine_manager.setActiveMachine.assert_called_with("newlyCreatedStack")
|
||||
|
||||
|
||||
def test_hasUserSettings(machine_manager, application):
|
||||
mocked_stack = application.getGlobalContainerStack()
|
||||
|
||||
|
@ -36,3 +75,73 @@ def test_totalNumberOfSettings(machine_manager):
|
|||
registry.findDefinitionContainers = MagicMock(return_value = [mocked_definition])
|
||||
with patch("cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance", MagicMock(return_value=registry)):
|
||||
assert machine_manager.totalNumberOfSettings == 3
|
||||
|
||||
|
||||
def createMockedExtruder(extruder_id):
|
||||
extruder = MagicMock()
|
||||
extruder.getId = MagicMock(return_value = extruder_id)
|
||||
return extruder
|
||||
|
||||
|
||||
def createMockedInstanceContainer(instance_id, name = ""):
|
||||
instance = MagicMock()
|
||||
instance.getName = MagicMock(return_value = name)
|
||||
instance.getId = MagicMock(return_value=instance_id)
|
||||
return instance
|
||||
|
||||
|
||||
def test_allActiveMaterialIds(machine_manager, extruder_manager):
|
||||
extruder_1 = createMockedExtruder("extruder_1")
|
||||
extruder_2 = createMockedExtruder("extruder_2")
|
||||
extruder_1.material = createMockedInstanceContainer("material_1")
|
||||
extruder_2.material = createMockedInstanceContainer("material_2")
|
||||
extruder_manager.getActiveExtruderStacks = MagicMock(return_value = [extruder_1, extruder_2])
|
||||
assert machine_manager.allActiveMaterialIds == {"extruder_1": "material_1", "extruder_2": "material_2"}
|
||||
|
||||
|
||||
def test_activeVariantNames(machine_manager, extruder_manager):
|
||||
extruder_1 = createMockedExtruder("extruder_1")
|
||||
extruder_2 = createMockedExtruder("extruder_2")
|
||||
extruder_1.getMetaDataEntry = MagicMock(return_value = "0")
|
||||
extruder_2.getMetaDataEntry = MagicMock(return_value= "2")
|
||||
extruder_1.variant = createMockedInstanceContainer("variant_1", "variant_name_1")
|
||||
extruder_2.variant = createMockedInstanceContainer("variant_2", "variant_name_2")
|
||||
extruder_manager.getActiveExtruderStacks = MagicMock(return_value=[extruder_1, extruder_2])
|
||||
|
||||
assert machine_manager.activeVariantNames == {"0": "variant_name_1", "2": "variant_name_2"}
|
||||
|
||||
|
||||
def test_globalVariantName(machine_manager, application):
|
||||
global_stack = application.getGlobalContainerStack()
|
||||
global_stack.variant = createMockedInstanceContainer("beep", "zomg")
|
||||
assert machine_manager.globalVariantName == "zomg"
|
||||
|
||||
|
||||
def test_activeMachineDefinitionName(machine_manager):
|
||||
global_stack = machine_manager.activeMachine
|
||||
global_stack.definition = createMockedInstanceContainer("beep", "zomg")
|
||||
assert machine_manager.activeMachineDefinitionName == "zomg"
|
||||
|
||||
|
||||
def test_activeMachineId(machine_manager):
|
||||
assert machine_manager.activeMachineId == "GlobalStack"
|
||||
|
||||
|
||||
def test_activeVariantBuildplateName(machine_manager):
|
||||
global_stack = machine_manager.activeMachine
|
||||
global_stack.variant = createMockedInstanceContainer("beep", "zomg")
|
||||
assert machine_manager.activeVariantBuildplateName == "zomg"
|
||||
|
||||
|
||||
def test_resetSettingForAllExtruders(machine_manager):
|
||||
global_stack = machine_manager.activeMachine
|
||||
extruder_1 = createMockedExtruder("extruder_1")
|
||||
extruder_2 = createMockedExtruder("extruder_2")
|
||||
extruder_1.userChanges = createMockedInstanceContainer("settings_1")
|
||||
extruder_2.userChanges = createMockedInstanceContainer("settings_2")
|
||||
global_stack.extruders = {"1": extruder_1, "2": extruder_2}
|
||||
|
||||
machine_manager.resetSettingForAllExtruders("whatever")
|
||||
|
||||
extruder_1.userChanges.removeInstance.assert_called_once_with("whatever")
|
||||
extruder_2.userChanges.removeInstance.assert_called_once_with("whatever")
|
Loading…
Add table
Add a link
Reference in a new issue