diff --git a/tests/Settings/TestExtruderStack.py b/tests/Settings/TestExtruderStack.py index e7619f86cd..0b7d8d92b2 100644 --- a/tests/Settings/TestExtruderStack.py +++ b/tests/Settings/TestExtruderStack.py @@ -55,6 +55,26 @@ def test_addContainer(extruder_stack): with pytest.raises(InvalidOperationError): extruder_stack.addContainer(unittest.mock.MagicMock()) +@pytest.mark.parametrize("filename, definition_id", [ + ("Left.extruder.cfg", "empty"), + ("ExtruderLegacy.stack.cfg", "empty"), + ("OnlyDefinition.extruder.cfg", "empty"), + ("Complete.extruder.cfg", "some_definition") +]) +def test_deserializeDefinition(filename, definition_id, container_registry, extruder_stack): + serialized = readStack(filename) + + #Mock the loading of the instance containers. + extruder_stack.findContainer = findSomeContainers + original_container_registry = UM.Settings.ContainerStack._containerRegistry + UM.Settings.ContainerStack._containerRegistry = container_registry #Always has all profiles you ask of. + + extruder_stack.deserialize(serialized) + assert extruder_stack.definition.getId() == definition_id + + #Restore. + UM.Settings.ContainerStack._containerRegistry = original_container_registry + @pytest.mark.parametrize("filename, material_id", [ ("Left.extruder.cfg", "some_instance"), ("ExtruderLegacy.stack.cfg", "some_instance"),