From eae6ad0e05726dab2ea8d34c81c5a4cdbc665935 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 22 Mar 2017 17:24:21 +0100 Subject: [PATCH] Add test to see whether quality profiles deserialise well Works just the same as the quality-changes stuff. Contributes to issue CURA-3497. --- tests/Settings/TestGlobalStack.py | 23 +++++++++++++++++++- tests/Settings/stacks/OnlyQuality.global.cfg | 8 +++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 tests/Settings/stacks/OnlyQuality.global.cfg diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py index 169cf12e83..21a6db61a6 100644 --- a/tests/Settings/TestGlobalStack.py +++ b/tests/Settings/TestGlobalStack.py @@ -79,4 +79,25 @@ def test_deserializeQualityChanges(filename, quality_changes_id, container_regis stack.deserialize(serialized) - assert stack.qualityChanges.getId() == quality_changes_id \ No newline at end of file + assert stack.qualityChanges.getId() == quality_changes_id + +## Tests whether the quality profile is being read properly from a global +# stack. +@pytest.mark.parametrize("filename, quality_id", [ + ("Global.global.cfg", "empty"), + ("Global.stack.cfg", "empty"), + ("MachineLegacy.stack.cfg", "empty"), + ("OnlyQuality.global.cfg", "some_instance"), + ("Complete.global.cfg", "some_quality") +]) +def test_deserializeQualityChanges(filename, quality_id, container_registry): + serialized = readStack(filename) + stack = cura.Settings.GlobalStack.GlobalStack("TestStack") + + #Mock the loading of the instance containers. + stack.findContainer = findSomeContainers + UM.Settings.ContainerStack._containerRegistry = container_registry #Always has all the profiles you ask of. + + stack.deserialize(serialized) + + assert stack.quality.getId() == quality_id \ No newline at end of file diff --git a/tests/Settings/stacks/OnlyQuality.global.cfg b/tests/Settings/stacks/OnlyQuality.global.cfg new file mode 100644 index 0000000000..f07a35666e --- /dev/null +++ b/tests/Settings/stacks/OnlyQuality.global.cfg @@ -0,0 +1,8 @@ +[general] +version = 3 +name = Only Quality +id = OnlyQuality + +[containers] +2 = some_instance +6 = some_definition