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

@ -6,21 +6,6 @@ from cura.Machines.MaterialNode import MaterialNode
instance_container_metadata_dict = {"fdmprinter": {"no_variant": [{"id": "quality_1", "material": "material_1"}]},
"machine_1": {"variant_1": {"material_1": [{"id": "quality_2", "material": "material_1"}, {"id": "quality_3","material": "material_1"}]}}}
quality_metadata_machine_quality_test_data = [({"type": "Not a quality"}, ["quality_2", "quality_3"]), # Wrong type
({"type": "quality", "definition": "machine_2"}, ["quality_2", "quality_3"]), # Wrong defintion
({"type": "quality", "definition": "machine_1", "variant": "variant_2"}, ["quality_2", "quality_3"]), # Wrong variant
({"type": "quality", "definition": "machine_1", "variant": "variant_1", "material": "material_2"}, ["quality_2", "quality_3"]), # wrong material
]
quality_metadata_no_machine_quality =[({"type": "Not a quality"}, ["quality_1"]), # Wrong type
({"type": "quality", "definition": "machine_1"}, ["quality_1"]), # Wrong defintion (it needs fdmprinter)
({"type": "quality", "definition": "fdmprinter", "variant": "variant_2"}, ["quality_1", "quality_4"]), # Wrong variant, but should be added (as we ignore the variant)
({"type": "quality", "definition": "fdmprinter", "variant": "variant_1", "material": "material_2"}, ["quality_1", "quality_4"]), # wrong material, but should be added (as we ignore the material)
({"type": "quality", "definition": "fdmprinter", "variant": "variant_1", "material": "material_1"}, ["quality_1", "quality_4"]),
]
metadata_dict = {}
@ -86,45 +71,4 @@ def test_materialNodeInit_MachineQuality(container_registry):
assert len(node.qualities) == 2
assert "quality_2" in node.qualities
assert "quality_3" in node.qualities
@pytest.mark.parametrize("metadata,qualities_result_list", quality_metadata_machine_quality_test_data)
def test_qualityAdded_hasMachineQuality(container_registry, metadata, qualities_result_list):
variant_node = MagicMock()
variant_node.variant_name = "variant_1"
variant_node.machine.has_machine_quality = True
variant_node.machine.quality_definition = "machine_1"
container = createMockedInstanceContainer("quality_4")
with patch("cura.Machines.MaterialNode.QualityNode"):
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value=container_registry)):
node = MaterialNode("material_1", variant_node)
with patch.dict(metadata_dict, metadata):
node._qualityAdded(container)
assert len(qualities_result_list) == len(node.qualities)
for name in qualities_result_list:
assert name in node.qualities
@pytest.mark.parametrize("metadata,qualities_result_list", quality_metadata_no_machine_quality)
def test_qualityAdded_noMachineQuality(container_registry, metadata, qualities_result_list):
variant_node = MagicMock()
variant_node.variant_name = "variant_1"
variant_node.machine.has_machine_quality = False
container = createMockedInstanceContainer("quality_4")
with patch("cura.Machines.MaterialNode.QualityNode"):
with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value=container_registry)):
node = MaterialNode("material_1", variant_node)
with patch.dict(metadata_dict, metadata):
node._qualityAdded(container)
assert len(qualities_result_list) == len(node.qualities)
for name in qualities_result_list:
assert name in node.qualities
assert "quality_3" in node.qualities