From cf0264e9b92d7d877924577faaa91b2d7cbf2e7c Mon Sep 17 00:00:00 2001 From: Gleb Khmyznikov Date: Mon, 4 Aug 2025 12:06:18 +0200 Subject: [PATCH] Add module toggle test --- .../ScreenRuler.UITests/ActivationTest.cs | 49 +++++++++---------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/src/modules/MeasureTool/Tests/ScreenRuler.UITests/ActivationTest.cs b/src/modules/MeasureTool/Tests/ScreenRuler.UITests/ActivationTest.cs index bbdb606f2f..7eab2982d7 100644 --- a/src/modules/MeasureTool/Tests/ScreenRuler.UITests/ActivationTest.cs +++ b/src/modules/MeasureTool/Tests/ScreenRuler.UITests/ActivationTest.cs @@ -18,49 +18,44 @@ namespace ScreenRuler.UITests { } - /// - /// Test MeasureTool keyboard shortcuts - /// - /// - /// Validating toolbar appears when MeasureTool is activated - /// - /// - /// Validating Ctrl+1 activates Bounds tool - /// - /// - /// Validating Escape closes the toolbar - /// - /// - /// - [TestMethod("MeasureTool.Shortcuts.ActivateToolbar")] - [TestCategory("Measure Tool #1")] - public void TestActivateMeasureTool() + [TestMethod("ScreenRuler.ModuleToggle")] + [TestCategory("Activation")] + public void TestToggleScreenRuler() { - // Launch PowerToys Settings LaunchFromSetting(); - var toggleSwitch = Find("Enable Screen Ruler"); - if (!toggleSwitch.IsOn) - { - toggleSwitch.Click(msPostAction: 500); - } + // First ensure it's disabled + SetScreenRulerToggle(enable: false); + Assert.IsFalse(Find("Enable Screen Ruler").IsOn, "Screen Ruler toggle switch should be OFF initially"); - Assert.IsTrue(toggleSwitch.IsOn, "Screen Ruler toggle switch should be ON"); + // Then enable it + SetScreenRulerToggle(enable: true); + Assert.IsTrue(Find("Enable Screen Ruler").IsOn, "Screen Ruler toggle switch should be ON after enabling"); + + // Then disable it again + SetScreenRulerToggle(enable: false); + Assert.IsFalse(Find("Enable Screen Ruler").IsOn, "Screen Ruler toggle switch should be OFF after disabling"); } private void LaunchFromSetting() { - Session.SetMainWindowSize(WindowSize.Medium); var screenRulers = FindAll("Screen Ruler"); - // Navigate to Measure Tool settings if (screenRulers.Count == 0) { - // Expand System Tools list-group if needed Find("System Tools", 500).Click(msPostAction: 500); } Find("Screen Ruler", 500).Click(msPostAction: 500); } + + private void SetScreenRulerToggle(bool enable) + { + var toggleSwitch = Find("Enable Screen Ruler"); + if (toggleSwitch.IsOn != enable) + { + toggleSwitch.Click(msPostAction: 500); + } + } } }