Got the check and uncheck of reload ui settings to work

Wrote a test
Added heat_extruder_before_homing
This commit is contained in:
Lars Brubaker 2016-08-25 17:43:30 -07:00
parent d18c8cfcb3
commit 98c114f79b
8 changed files with 40 additions and 25 deletions

View file

@ -73,6 +73,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public const string has_heated_bed = nameof(has_heated_bed);
public const string has_power_control = nameof(has_power_control);
public const string has_sd_card_reader = nameof(has_sd_card_reader);
public const string heat_extruder_before_homing = nameof(heat_extruder_before_homing);
public const string layer_height = nameof(layer_height);
public const string layer_name = nameof(layer_name);
public const string layer_to_pause = nameof(layer_to_pause);

View file

@ -619,7 +619,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
if (settingData.ReloadUiWhenChanged)
{
ApplicationController.Instance.ReloadAll(null, null);
UiThread.RunOnIdle(() => ApplicationController.Instance.ReloadAll(null, null));
}
}
@ -667,14 +667,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public void RefreshValue(IEnumerable<PrinterSettingsLayer> layerFilters)
{
string latestValue = GetActiveValue(this.SettingsKey, layerFilters);
//if(latestValue != SettingsValue)
{
ValueChanged?.Invoke(latestValue);
}
UpdateStyle?.Invoke();
SettingsValue = latestValue;
UpdateStyle?.Invoke();
ValueChanged?.Invoke(latestValue);
}
}
@ -1330,7 +1325,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
Checked = sliceSettingValue == "1"
};
checkBoxWidget.CheckedStateChanged += (sender, e) =>
checkBoxWidget.Click += (sender, e) =>
{
bool isChecked = ((CheckBox)sender).Checked;
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, isChecked ? "1" : "0", persistenceLayer);

View file

@ -75,7 +75,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
// TODO: merge the items below into the list above after some validation - setting that weren't previously mapped to Cura but probably should be.
SettingsKey.bed_remove_part_temperature,
"extruder_wipe_temperature",
"heat_extruder_before_homing",
SettingsKey.heat_extruder_before_homing,
"include_firmware_updater",
"layer_to_pause",
SettingsKey.show_reset_connection,

View file

@ -68,7 +68,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
hiddenSettings.Add("extruder_clearance_height");
hiddenSettings.Add("extruder_clearance_radius");
hiddenSettings.Add("wipe_shield_distance");
hiddenSettings.Add("heat_extruder_before_homing");
hiddenSettings.Add(SettingsKey.heat_extruder_before_homing);
hiddenSettings.Add("extruders_share_temperature");
hiddenSettings.Add("print_leveling_method");
hiddenSettings.Add("solid_shell");

View file

@ -222,7 +222,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
// If we need to wait for the heaters to heat up before homing then set them to M109 (heat and wait).
if (ActiveSliceSettings.Instance.GetValue("heat_extruder_before_homing") == "1")
if (ActiveSliceSettings.Instance.GetValue(SettingsKey.heat_extruder_before_homing) == "1")
{
for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++)
{
@ -270,7 +270,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
int numberOfHeatedExtruders = ActiveSliceSettings.Instance.GetValue<int>(SettingsKey.extruder_count);
// don't set the extruders to heating if we already waited for them to reach temp
if (ActiveSliceSettings.Instance.GetValue("heat_extruder_before_homing") != "1")
if (ActiveSliceSettings.Instance.GetValue(SettingsKey.heat_extruder_before_homing) != "1")
{
for (int extruderIndex0Based = 0; extruderIndex0Based < numberOfHeatedExtruders; extruderIndex0Based++)
{

@ -1 +1 @@
Subproject commit 2445a6a09603fa6889751e715ba2ace32683d857
Subproject commit 989e5d4801375983993fce0fb5610860029b5fa1

@ -1 +1 @@
Subproject commit a992a032b25c1fa6bf407e644602b120f3e45342
Subproject commit a3188328235701a2db67559923d28cdfaf3ff616

View file

@ -70,30 +70,49 @@ namespace MatterHackers.MatterControl.Tests.Automation
//Navigate to Local Library
resultsHarness.AddTestResult(testRunner.ClickByName("SettingsAndControls", 1));
testRunner.Wait(.5);
resultsHarness.AddTestResult(testRunner.ClickByName("User Level Dropdown", 1));
resultsHarness.AddTestResult(testRunner.ClickByName("Advanced Menu Item", 1));
resultsHarness.AddTestResult(testRunner.ClickByName("Skirt and Raft Tab", 1));
testRunner.Wait(.5);
resultsHarness.AddTestResult(testRunner.ClickByName("Printer Tab", 1));
resultsHarness.AddTestResult(testRunner.ClickByName("Features Tab", 1));
resultsHarness.AddTestResult(testRunner.ClickByName("Has Fan Checkbox", 1));
// Assert that the checkbox is currently unchecked, and there is no user override
bool hasFan = ActiveSliceSettings.Instance.GetValue<bool>(SettingsKey.has_fan);
// Click the checkbox
// Assert the checkbox is checked and the user override is set
// Click the cancel user override button
// Assert the checkbox is unchecked and there is no user override
CheckAndUncheckSetting(resultsHarness, testRunner, SettingsKey.heat_extruder_before_homing, "Heat Before Homing Checkbox", false);
CheckAndUncheckSetting(resultsHarness, testRunner, SettingsKey.has_fan, "Has Fan Checkbox", true);
MatterControlUtilities.CloseMatterControl(testRunner);
}
};
AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideWidth: 1224, overrideHeight: 800);
AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, overrideWidth: 1224, overrideHeight: 900);
Assert.IsTrue(testHarness.AllTestsPassed);
Assert.IsTrue(testHarness.TestCount == 7); // make sure we ran all our tests
Assert.IsTrue(testHarness.TestCount == 27); // make sure we ran all our tests
}
private static void CheckAndUncheckSetting(AutomationTesterHarness resultsHarness, AutomationRunner testRunner, string settingToChange, string checkBoxName, bool expected)
{
// Assert that the checkbox is currently unchecked, and there is no user override
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.GetValue<bool>(settingToChange) == expected);
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.UserLayer.ContainsKey(settingToChange) == false);
// Click the checkbox
resultsHarness.AddTestResult(testRunner.ClickByName(checkBoxName, 1));
testRunner.Wait(2);
// Assert the checkbox is checked and the user override is set
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.GetValue<bool>(settingToChange) != expected);
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.UserLayer.ContainsKey(settingToChange) == true);
// Click the cancel user override button
resultsHarness.AddTestResult(testRunner.ClickByName("Restore " + settingToChange, 1));
testRunner.Wait(2);
// Assert the checkbox is unchecked and there is no user override
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.GetValue<bool>(settingToChange) == expected);
resultsHarness.AddTestResult(ActiveSliceSettings.Instance.UserLayer.ContainsKey(settingToChange) == false);
}
//Stress Test check & uncheck 1000x