Просмотр исходного кода

Add a test to ensure empty configurations are not shown in the list

ChrisTerBeke 5 лет назад
Родитель
Сommit
73b423138a
1 измененных файлов с 18 добавлено и 1 удалено
  1. 18 1
      tests/PrinterOutput/TestPrinterOutputDevice.py

+ 18 - 1
tests/PrinterOutput/TestPrinterOutputDevice.py

@@ -3,6 +3,8 @@ from unittest.mock import MagicMock
 import pytest
 import pytest
 from unittest.mock import patch
 from unittest.mock import patch
 
 
+from cura.PrinterOutput.Models.ExtruderConfigurationModel import ExtruderConfigurationModel
+from cura.PrinterOutput.Models.MaterialOutputModel import MaterialOutputModel
 from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel
 from cura.PrinterOutput.Models.PrinterConfigurationModel import PrinterConfigurationModel
 from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel
 from cura.PrinterOutput.Models.PrinterOutputModel import PrinterOutputModel
 from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice
 from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice
@@ -61,4 +63,19 @@ def test_uniqueConfigurations(printer_output_device):
     # Once the type of printer is set, it's active configuration counts as being set.
     # Once the type of printer is set, it's active configuration counts as being set.
     # In that case, that should also be added to the list of available configurations
     # In that case, that should also be added to the list of available configurations
     printer.updateType("blarg!")
     printer.updateType("blarg!")
-    assert printer_output_device.uniqueConfigurations == [configuration, printer.printerConfiguration]
+    assert printer_output_device.uniqueConfigurations == [configuration, printer.printerConfiguration]
+
+
+def test_uniqueConfigurations_empty_is_filtered_out(printer_output_device):
+    printer = PrinterOutputModel(MagicMock())
+    # Add a printer and fire the signal that ensures they get hooked up correctly.
+    printer_output_device._printers = [printer]
+    printer_output_device._onPrintersChanged()
+
+    empty_material = MaterialOutputModel(guid = "", type = "empty", color = "empty", brand = "Generic", name = "Empty")
+    empty_left_extruder = ExtruderConfigurationModel(0)
+    empty_left_extruder.setMaterial(empty_material)
+    empty_right_extruder = ExtruderConfigurationModel(1)
+    empty_right_extruder.setMaterial(empty_material)
+    printer.printerConfiguration.setExtruderConfigurations([empty_left_extruder, empty_right_extruder])
+    assert printer_output_device.uniqueConfiguration == []