Просмотр исходного кода

Add a few more simple test to MachineManager

Jaime van Kessel 5 лет назад
Родитель
Сommit
57199d8991
1 измененных файлов с 58 добавлено и 7 удалено
  1. 58 7
      tests/TestMachineManager.py

+ 58 - 7
tests/TestMachineManager.py

@@ -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")