Use new container registry functionality for test_setDefinitionByIdExists

We can just set the return value of the registry to whatever we like and we'll verify that we got that from the registry and it was put on the stack.

Contributes to issue CURA-3497.
This commit is contained in:
Ghostkeeper 2017-04-11 16:38:06 +02:00
parent 4f83ae3fa7
commit 6ba79881df
No known key found for this signature in database
GPG key ID: C5F96EE2BC0F7E75

View file

@ -53,6 +53,7 @@ def container_registry():
registry = unittest.mock.MagicMock()
registry.return_value = unittest.mock.NonCallableMagicMock()
registry.findInstanceContainers = lambda *args, registry = registry, **kwargs: [registry.return_value]
registry.findDefinitionContainers = lambda *args, registry = registry, **kwargs: [registry.return_value]
UM.Settings.ContainerRegistry.ContainerRegistry._ContainerRegistry__instance = registry
UM.Settings.ContainerStack._containerRegistry = registry
@ -490,8 +491,8 @@ def test_removeContainer(global_stack):
## Tests setting definitions by specifying an ID of a definition that exists.
def test_setDefinitionByIdExists(global_stack, container_registry):
with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against type checking the DefinitionContainer.
global_stack.setDefinitionById("some_definition") #The container registry always has a container with the ID.
container_registry.return_value = DefinitionContainer(container_id = "some_definition")
global_stack.setDefinitionById("some_definition")
## Tests setting definitions by specifying an ID of a definition that doesn't
# exist.