Remove _added functions for nodes that can't be added during runtime

Among the machines, variants, materials, qualities and intents, only machines and materials can ever be added during runtime. For the rest, we don't need to listen to these signals.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-08-16 16:28:42 +02:00
parent 97e77994a1
commit 80baeb9873
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276
6 changed files with 7 additions and 188 deletions

View file

@ -1,21 +1,12 @@
from unittest.mock import patch, MagicMock
import pytest
from cura.Machines.MaterialNode import MaterialNode
from cura.Machines.QualityNode import QualityNode
instance_container_metadata_dict = {"fdmprinter": {"variant_1": {"material_1": [{"id": "intent_1"}, {"id": "intent_2"}]}},
"machine_1": {"variant_2": {"material_2": [{"id": "intent_3"}, {"id": "intent_4"}]}}}
intent_metadata_intent_added_data = [({"type": "Not an intent"}, ["intent_3", "intent_4"]), # Wrong type
({"type": "intent", "definition": "machine_9000"}, ["intent_3", "intent_4"]), # wrong definition
({"type": "intent", "definition": "machine_1", "variant": "variant_299101"}, ["intent_3", "intent_4"]), # wrong variant
({"type": "intent", "definition": "machine_1", "variant": "variant_2", "material": "super cool material!"}, ["intent_3", "intent_4"]), # Wrong material
({"type": "intent", "definition": "machine_1", "variant": "variant_2", "material": "material_2"}, ["intent_3", "intent_4", "intent_9001"]), # Yay, all good.
]
metadata_dict = {}
@ -55,24 +46,4 @@ def test_qualityNode_machine_1(container_registry):
assert len(node.intents) == 2
assert "intent_3" in node.intents
assert "intent_4" in node.intents
@pytest.mark.parametrize("metadata,intent_result_list", intent_metadata_intent_added_data)
def test_intentNodeAdded(container_registry, metadata, intent_result_list):
material_node = MagicMock()
material_node.variant.machine.quality_definition = "machine_1"
material_node.variant.variant_name = "variant_2"
material_node.base_file = "material_2"
intent_container = createMockedInstanceContainer("intent_9001")
with patch("cura.Machines.QualityNode.IntentNode"):
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value=container_registry)):
node = QualityNode("quality_1", material_node)
with patch.dict(metadata_dict, metadata):
node._intentAdded(intent_container)
assert len(intent_result_list) == len(node.intents)
for identifier in intent_result_list:
assert identifier in node.intents
assert "intent_4" in node.intents