Add a few more simple test to MachineManager

This commit is contained in:
Jaime van Kessel 2019-07-19 13:25:34 +02:00
parent 2ee6f4af15
commit 57199d8991

View file

@ -9,7 +9,9 @@ from cura.Settings.MachineManager import MachineManager
@pytest.fixture()
def global_stack():
return MagicMock(name="Global Stack")
stack = MagicMock(name="Global Stack")
stack.getId = MagicMock(return_value ="GlobalStack")
return stack
@pytest.fixture()
def container_registry() -> ContainerRegistry:
@ -102,16 +104,65 @@ def createMockedExtruder(extruder_id):
return extruder
def createMockedMaterial(material_id):
material = MagicMock()
material.getId = MagicMock(return_value=material_id)
return material
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 = createMockedMaterial("material_1")
extruder_2.material = createMockedMaterial("material_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")