Browse Source

Add tests for setMaterialById

One for when the ID exists, and one for when it doesn't.

Contributes to issue CURA-3497.
Ghostkeeper 8 years ago
parent
commit
eb7035db45
1 changed files with 17 additions and 1 deletions
  1. 17 1
      tests/Settings/TestExtruderStack.py

+ 17 - 1
tests/Settings/TestExtruderStack.py

@@ -290,4 +290,20 @@ def test_setDefinitionByIdExists(extruder_stack, container_registry):
 #   exist.
 def test_setDefinitionByIdDoesntExist(extruder_stack):
     with pytest.raises(KeyError):
-        extruder_stack.setDefinitionById("some_definition") #Container registry is empty now.
+        extruder_stack.setDefinitionById("some_definition") #Container registry is empty now.
+
+##  Tests setting materials by specifying an ID of a material that exists.
+def test_setMaterialByIdExists(extruder_stack, container_registry):
+    original_container_registry = UM.Settings.ContainerStack._containerRegistry
+    UM.Settings.ContainerStack._containerRegistry = container_registry #Always has all the profiles you ask of.
+
+    extruder_stack.setMaterialById("some_material") #The container registry always has a container with the ID.
+
+    #Restore.
+    UM.Settings.ContainerStack._containerRegistry = original_container_registry
+
+##  Tests setting materials by specifying an ID of a material that doesn't
+#   exist.
+def test_setMaterialByIdDoesntExist(extruder_stack):
+    with pytest.raises(KeyError):
+        extruder_stack.setMaterialById("some_material") #Container registry is empty now.