mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-29 23:34:32 +08:00
44 lines
1.8 KiB
Python
44 lines
1.8 KiB
Python
from unittest.mock import MagicMock, patch
|
|
|
|
from cura.Machines.MaterialManager import MaterialManager
|
|
|
|
|
|
mocked_registry = MagicMock()
|
|
material_1 = {"id": "test", "GUID":"TEST!", "base_file": "base_material", "definition": "fdmmachine", "approximate_diameter": 3, "brand": "generic"}
|
|
material_2 = {"id": "base_material", "GUID": "TEST2!", "base_file": "test", "definition": "fdmmachine", "approximate_diameter": 3}
|
|
mocked_registry.findContainersMetadata = MagicMock(return_value = [material_1, material_2])
|
|
|
|
|
|
mocked_definition = MagicMock()
|
|
mocked_definition.getId = MagicMock(return_value = "fdmmachine")
|
|
mocked_definition.getMetaDataEntry = MagicMock(return_value = [])
|
|
|
|
|
|
def test_initialize(application):
|
|
# Just test if the simple loading works
|
|
with patch("UM.Application.Application.getInstance", MagicMock(return_value=application)):
|
|
manager = MaterialManager(mocked_registry)
|
|
manager.initialize()
|
|
# Double check that we actually got some material nodes
|
|
assert manager.getMaterialGroup("base_material").name == "base_material"
|
|
assert manager.getMaterialGroup("test").name == "test"
|
|
|
|
|
|
def test_getAvailableMaterials(application):
|
|
with patch("UM.Application.Application.getInstance", MagicMock(return_value=application)):
|
|
manager = MaterialManager(mocked_registry)
|
|
manager.initialize()
|
|
|
|
available_materials = manager.getAvailableMaterials(mocked_definition, None, None, 3)
|
|
|
|
assert "base_material" in available_materials
|
|
assert "test" in available_materials
|
|
|
|
|
|
def test_getMaterialNode(application):
|
|
with patch("UM.Application.Application.getInstance", MagicMock(return_value=application)):
|
|
manager = MaterialManager(mocked_registry)
|
|
manager.initialize()
|
|
|
|
assert manager.getMaterialNode("fdmmachine", None, None, 3, "base_material").getMetaDataEntry("id") == "test"
|