From 73b423138adc1b9f6c3763498c37ba700f1476a6 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Fri, 23 Aug 2019 16:35:15 +0200 Subject: [PATCH] Add a test to ensure empty configurations are not shown in the list --- .../PrinterOutput/TestPrinterOutputDevice.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/PrinterOutput/TestPrinterOutputDevice.py b/tests/PrinterOutput/TestPrinterOutputDevice.py index e0415295c1..d690297009 100644 --- a/tests/PrinterOutput/TestPrinterOutputDevice.py +++ b/tests/PrinterOutput/TestPrinterOutputDevice.py @@ -3,6 +3,8 @@ from unittest.mock import MagicMock import pytest 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.PrinterOutputModel import PrinterOutputModel 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. # In that case, that should also be added to the list of available configurations printer.updateType("blarg!") - assert printer_output_device.uniqueConfigurations == [configuration, printer.printerConfiguration] \ No newline at end of file + 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 == []