mattercontrol/original/Tests/MatterControl.AutomationTests/HardwareLevelingUITests.cs

92 lines
3.3 KiB
C#
Raw Permalink Normal View History

2018-10-03 12:32:26 -07:00
using System.Threading;
using System.Threading.Tasks;
using NUnit.Framework;
2022-07-15 17:28:39 -07:00
using TestInvoker;
namespace MatterHackers.MatterControl.Tests.Automation
{
2022-07-15 17:28:39 -07:00
[TestFixture, Category("MatterControl.UI.Automation"), Parallelizable(ParallelScope.Children)]
public class HardwareLevelingUITests
{
2022-07-15 17:28:39 -07:00
[Test, ChildProcessTest]
public async Task HasHardwareLevelingHidesLevelingSettings()
{
2017-06-03 08:20:09 -07:00
await MatterControlUtilities.RunTest((testRunner) =>
{
testRunner.WaitForFirstDraw();
2017-06-03 08:20:09 -07:00
// Add printer that has hardware leveling
testRunner.AddAndSelectPrinter("Airwolf 3D", "HD");
testRunner.SwitchToPrinterSettings();
2022-04-20 21:18:58 +01:00
testRunner.ClickByName("Features SliceSettingsTab");
2018-04-05 16:16:43 -07:00
testRunner.ClickByName("Slice Settings Overflow Menu");
2020-12-31 13:08:37 -08:00
testRunner.ClickByName("Advanced Menu Item");
Assert.IsFalse(testRunner.WaitForName("print_leveling_solution Row", .5), "Print leveling should not exist for an Airwolf HD");
2017-06-03 08:20:09 -07:00
// Add printer that does not have hardware leveling
testRunner.AddAndSelectPrinter("3D Factory", "MendelMax 1.5");
testRunner.SwitchToPrinterSettings();
2022-04-20 21:18:58 +01:00
testRunner.ClickByName("Features SliceSettingsTab");
2018-04-05 16:16:43 -07:00
testRunner.ClickByName("Slice Settings Overflow Menu");
2020-12-31 13:08:37 -08:00
testRunner.ClickByName("Advanced Menu Item");
Assert.IsTrue(testRunner.WaitForName("print_leveling_solution Row"), "Print leveling should exist for a 3D Factory MendelMax");
return Task.CompletedTask;
2017-06-03 08:20:09 -07:00
}, overrideHeight: 800);
}
2016-09-26 15:59:29 -07:00
2022-07-15 17:28:39 -07:00
// NOTE: This test once failed, due to timing probably.
[Test, ChildProcessTest, Category("Emulator")]
2019-04-30 16:44:08 -07:00
public async Task SoftwareLevelingTest()
2016-09-26 15:59:29 -07:00
{
2017-06-03 08:20:09 -07:00
await MatterControlUtilities.RunTest((testRunner) =>
2016-09-26 15:59:29 -07:00
{
2016-10-19 11:10:30 -07:00
// make a jump start printer
using (var emulator = testRunner.LaunchAndConnectToPrinterEmulator("JumpStart", "V1", runSlow: false))
2016-10-19 11:10:30 -07:00
{
2017-01-10 13:43:12 -08:00
// make sure it is showing the correct button
testRunner.OpenPrintPopupMenu();
2017-01-10 13:43:12 -08:00
var startPrintButton = testRunner.GetWidgetByName("Start Print Button", out _);
Assert.IsFalse(startPrintButton.Enabled, "Start Print should not be enabled");
testRunner.ClickByName("SetupPrinter");
testRunner.Complete9StepLeveling();
2017-01-10 13:43:12 -08:00
2019-04-30 16:44:33 -07:00
// Satisfy non-empty bed requirement
2021-06-06 22:18:29 -07:00
testRunner.AddItemToBed();
2019-04-30 16:44:33 -07:00
testRunner.OpenPrintPopupMenu();
2017-01-10 13:43:12 -08:00
// make sure the button has changed to start print
startPrintButton = testRunner.GetWidgetByName("Start Print Button", out _);
Assert.IsTrue(startPrintButton.Enabled, "Start Print should be enabled after running printer setup");
Assert.IsFalse(testRunner.WaitForName("SetupPrinter", .5), "Finish Setup should not be visible after leveling the printer");
2017-01-10 13:43:12 -08:00
// reset to defaults and make sure print leveling is cleared
testRunner.SwitchToSliceSettings();
2017-01-10 13:43:12 -08:00
testRunner.WaitForReloadAll(() =>
{
testRunner.ClickByName("Printer Overflow Menu");
2020-08-29 23:05:40 -07:00
testRunner.ClickByName("Reset to Defaults... Menu Item");
testRunner.ClickByName("Yes Button");
});
2017-01-10 13:43:12 -08:00
testRunner.OpenPrintPopupMenu();
2018-12-06 11:59:37 -08:00
2017-01-10 13:43:12 -08:00
// make sure it is showing the correct button
2019-04-30 16:44:53 -07:00
Assert.IsTrue(testRunner.WaitForName("SetupPrinter"), "Setup... should be visible after reset to Defaults");
}
2016-09-26 15:59:29 -07:00
return Task.CompletedTask;
2022-07-15 17:28:39 -07:00
}, maxTimeToRun: 90); // NOTE: This test got stuck in ClickByName("Yes Button") -> WaitforDraw. It appears to be because WaitforDraw waited for a closed window to redraw itself.
2016-09-26 15:59:29 -07:00
}
}
}