mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 04:39:02 +08:00
Added tests for adding & removing discovered devices
CURA-6179
This commit is contained in:
parent
bbe1b1590a
commit
1c7e047a38
@ -162,6 +162,7 @@ class MachineManager(QObject):
|
||||
printerConnectedStatusChanged = pyqtSignal() # Emitted every time the active machine change or the outputdevices change
|
||||
|
||||
rootMaterialChanged = pyqtSignal()
|
||||
discoveredPrintersChanged = pyqtSignal()
|
||||
|
||||
def setInitialActiveMachine(self) -> None:
|
||||
active_machine_id = self._application.getPreferences().getValue("cura/active_machine")
|
||||
@ -183,12 +184,18 @@ class MachineManager(QObject):
|
||||
def addDiscoveredPrinter(self, key: str, name: str, create_callback: Callable[[str], None], machine_type: str) -> None:
|
||||
if key not in self._discovered_printers:
|
||||
self._discovered_printers[key] = DiscoveredPrinter(key, name, create_callback, machine_type)
|
||||
self.discoveredPrintersChanged.emit()
|
||||
else:
|
||||
Logger.log("e", "Printer with the key %s was already in the discovered printer list", key)
|
||||
|
||||
def removeDiscoveredPrinter(self, key: str) -> None:
|
||||
if key in self._discovered_printers:
|
||||
del self._discovered_printers[key]
|
||||
self.discoveredPrintersChanged.emit()
|
||||
|
||||
@pyqtProperty("QVariantList", notify = discoveredPrintersChanged)
|
||||
def discoveredPrinters(self):
|
||||
return list(self._discovered_printers.values())
|
||||
|
||||
@pyqtSlot(str)
|
||||
def addMachineFromDiscoveredPrinter(self, key: str) -> None:
|
||||
|
@ -11,6 +11,7 @@ from cura.Settings.MachineManager import MachineManager
|
||||
def container_registry() -> ContainerRegistry:
|
||||
return MagicMock()
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def extruder_manager(application, container_registry) -> ExtruderManager:
|
||||
with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value=application)):
|
||||
@ -21,6 +22,7 @@ def extruder_manager(application, container_registry) -> ExtruderManager:
|
||||
|
||||
return manager
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def machine_manager(application, extruder_manager, container_registry) -> MachineManager:
|
||||
application.getExtruderManager = MagicMock(return_value = extruder_manager)
|
||||
@ -50,3 +52,13 @@ def test_discoveredMachine(machine_manager):
|
||||
machine_manager.addDiscoveredPrinter("test", "zomg", mocked_callback, "derp")
|
||||
machine_manager.addMachineFromDiscoveredPrinter("test")
|
||||
mocked_callback.assert_called_with("test")
|
||||
|
||||
assert len(machine_manager.discoveredPrinters) == 1
|
||||
|
||||
# Test if removing it works
|
||||
machine_manager.removeDiscoveredPrinter("test")
|
||||
assert len(machine_manager.discoveredPrinters) == 0
|
||||
|
||||
# Just in case, nothing should happen.
|
||||
machine_manager.addMachineFromDiscoveredPrinter("test")
|
||||
assert mocked_callback.call_count == 1
|
Loading…
x
Reference in New Issue
Block a user