Browse Source

Add tests for the DiscoveredCloudPrintersModel

CURA-7022
Kostas Karmas 4 years ago
parent
commit
07fcdf905e
1 changed files with 34 additions and 0 deletions
  1. 34 0
      tests/Machines/Models/TestDiscoveredCloudPrintersModel.py

+ 34 - 0
tests/Machines/Models/TestDiscoveredCloudPrintersModel.py

@@ -0,0 +1,34 @@
+from unittest.mock import MagicMock
+
+import pytest
+
+from cura.Machines.Models.DiscoveredCloudPrintersModel import DiscoveredCloudPrintersModel
+
+
+@pytest.fixture()
+def discovered_cloud_printers_model(application) -> DiscoveredCloudPrintersModel:
+    return DiscoveredCloudPrintersModel(application)
+
+
+def test_discoveredCloudPrinters(discovered_cloud_printers_model):
+    new_devices = [{
+        "key": "Bite my shiny metal a$$",
+        "name": "Bender",
+        "machine_type": "Bender robot",
+        "firmware_version": "8.0.0.8.5"
+    }]
+    discovered_cloud_printers_model.cloudPrintersDetectedChanged = MagicMock()
+
+    # Test if adding a cloud printer in the model works
+    discovered_cloud_printers_model.addDiscoveredCloudPrinters(new_devices)
+    assert len(discovered_cloud_printers_model._discovered_cloud_printers_list) == 1
+    assert discovered_cloud_printers_model.cloudPrintersDetectedChanged.emit.call_count == 1
+    # Make sure that the signal was called with "True" as input
+    discovered_cloud_printers_model.cloudPrintersDetectedChanged.emit.assert_called_with(True)
+
+    # Test if clearing the model works
+    discovered_cloud_printers_model.clear()
+    assert len(discovered_cloud_printers_model._discovered_cloud_printers_list) == 0
+    assert discovered_cloud_printers_model.cloudPrintersDetectedChanged.emit.call_count == 2
+    # Make sure that the signal was called with "False" as input
+    discovered_cloud_printers_model.cloudPrintersDetectedChanged.emit.assert_called_with(False)