From 8ba2299a769f3767f39e646a9d9aee854dad98af Mon Sep 17 00:00:00 2001 From: John Lewin Date: Wed, 26 Dec 2018 16:16:19 -0800 Subject: [PATCH] Convert CloseFirstPrinterTab into a reusable test helper method --- .../SliceSettingsTests.cs | 17 +++-------------- .../MatterControl/MatterControlUtilities.cs | 13 +++++++++++++ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Tests/MatterControl.AutomationTests/SliceSettingsTests.cs b/Tests/MatterControl.AutomationTests/SliceSettingsTests.cs index 3d735e6e2..ba0d559f2 100644 --- a/Tests/MatterControl.AutomationTests/SliceSettingsTests.cs +++ b/Tests/MatterControl.AutomationTests/SliceSettingsTests.cs @@ -517,8 +517,8 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.AreEqual(printer.Settings.GetValue(SettingsKey.layer_height).ToString(), "0.1", "Layer height is the fine override"); // Close Airwolf - CloseFirstPrinterTab(testRunner); - + testRunner.CloseFirstPrinterTab(); + // Assert printer counts Assert.AreEqual(1, ProfileManager.Instance.ActiveProfiles.Count(), "ProfileManager should have 1 profile after Airwolf close"); Assert.AreEqual(0, ApplicationController.Instance.ActivePrinters.Count(), "Zero printers should be active after Airwolf close"); @@ -530,7 +530,7 @@ namespace MatterHackers.MatterControl.Tests.Automation Assert.AreEqual(1, ApplicationController.Instance.ActivePrinters.Count(), "One printer should be active after BCN add"); // Close BCN - CloseFirstPrinterTab(testRunner); + testRunner.CloseFirstPrinterTab(); // Reopen Airwolf testRunner.SwitchToHardwareTab(); @@ -555,17 +555,6 @@ namespace MatterHackers.MatterControl.Tests.Automation }, maxTimeToRun: 120); } - private void CloseFirstPrinterTab(AutomationRunner testRunner) - { - // Close all printer tabs - var mainViewWidget = testRunner.GetWidgetByName("PartPreviewContent", out _) as MainViewWidget; - if (mainViewWidget.TabControl.AllTabs.First(t => t.TabContent is PrinterTabPage) is GuiWidget widget) - { - var closeWidget = widget.Descendants().First(); - testRunner.ClickWidget(closeWidget); - } - } - private void CloseAllPrinterTabs(AutomationRunner testRunner) { // Close all printer tabs diff --git a/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs b/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs index 339ac8937..d2808823a 100644 --- a/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs +++ b/Tests/MatterControl.Tests/MatterControl/MatterControlUtilities.cs @@ -691,6 +691,19 @@ namespace MatterHackers.MatterControl.Tests.Automation return ApplicationController.Instance.ActivePrinters.First(); } + public static void CloseFirstPrinterTab(this AutomationRunner testRunner) + { + // Close all printer tabs + var mainViewWidget = testRunner.GetWidgetByName("PartPreviewContent", out _) as MainViewWidget; + if (mainViewWidget.TabControl.AllTabs.First(t => t.TabContent is PrinterTabPage) is GuiWidget widget) + { + var closeWidget = widget.Descendants().First(); + Assert.AreEqual("Close Tab Button", closeWidget.Name, "Expected widget ('Close Tab Button') not found"); + + testRunner.ClickWidget(closeWidget); + } + } + public static void WaitForCommunicationStateDisconnected(this AutomationRunner testRunner, PrinterConfig printer, int maxSeconds = 500) { testRunner.WaitFor(() => printer.Connection.CommunicationState == CommunicationStates.Disconnected, maxSeconds);