Browse Source

Update extrudermanager in tests to mock Application.

CURA-9793
Joey de l'Arago 2 years ago
parent
commit
f52638ca75
1 changed files with 10 additions and 2 deletions
  1. 10 2
      tests/conftest.py

+ 10 - 2
tests/conftest.py

@@ -6,6 +6,7 @@
 from unittest.mock import MagicMock, patch
 import pytest
 
+from UM.Application import Application
 from UM.Qt.QtApplication import QtApplication  # QtApplication import is required, even though it isn't used.
 
 from cura.CuraApplication import CuraApplication
@@ -22,6 +23,12 @@ def application() -> CuraApplication:
     app = MagicMock()
     return app
 
+@pytest.fixture()
+def um_application() -> Application:
+    app = MagicMock()
+    app.getInstance = MagicMock(return_value=app)
+    return app
+
 
 # Returns a MachineActionManager instance.
 @pytest.fixture()
@@ -43,14 +50,15 @@ def container_registry(application, global_stack) -> ContainerRegistry:
 
 
 @pytest.fixture()
-def extruder_manager(application, container_registry) -> ExtruderManager:
+def extruder_manager(application, um_application, container_registry) -> ExtruderManager:
     if ExtruderManager.getInstance() is not None:
         # Reset the data
         ExtruderManager._ExtruderManager__instance = None
 
     with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value=application)):
         with patch("UM.Settings.ContainerRegistry.ContainerRegistry.getInstance", MagicMock(return_value=container_registry)):
-            manager = ExtruderManager()
+            with patch("UM.Application.Application.getInstance", um_application):
+                manager = ExtruderManager()
     return manager