From 46e2648050c514d4abc7247d75005d776dcdfa9d Mon Sep 17 00:00:00 2001 From: seraphima Date: Mon, 18 Mar 2024 19:41:16 +0100 Subject: [PATCH] name constants --- .../CopyLayoutTests.cs | 7 ++-- .../DeleteLayoutTests.cs | 9 ++-- .../RunFancyZonesEditorTest.cs | 19 +++++---- .../Utils/FancyZonesEditorSession.cs | 42 +++++++++++++++---- 4 files changed, 55 insertions(+), 22 deletions(-) diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/CopyLayoutTests.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/CopyLayoutTests.cs index 43684e9c4e..ce7fb216d8 100644 --- a/src/modules/fancyzones/UITests-FancyZonesEditor/CopyLayoutTests.cs +++ b/src/modules/fancyzones/UITests-FancyZonesEditor/CopyLayoutTests.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation +// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -7,6 +7,7 @@ using FancyZonesEditorCommon.Data; using Microsoft.FancyZonesEditor.UnitTests.Utils; using Microsoft.VisualStudio.TestTools.UnitTesting; using static FancyZonesEditorCommon.Data.EditorParameters; +using static Microsoft.FancyZonesEditor.UnitTests.Utils.FancyZonesEditorSession; namespace Microsoft.FancyZonesEditor.UITests { @@ -207,7 +208,7 @@ namespace Microsoft.FancyZonesEditor.UITests public void CopyTemplate_FromContextMenu() { string copiedLayoutName = Constants.TemplateLayoutNames[Constants.TemplateLayouts.Rows] + " (1)"; - _session?.ClickContextMenuItem(Constants.TemplateLayoutNames[Constants.TemplateLayouts.Rows], "Create custom layout"); + _session?.ClickContextMenuItem(Constants.TemplateLayoutNames[Constants.TemplateLayouts.Rows], ElementName.CreateCustomLayout); // verify the layout is copied _session?.WaitElementDisplayedByName(copiedLayoutName); @@ -274,7 +275,7 @@ namespace Microsoft.FancyZonesEditor.UITests public void CopyCustomLayout_FromContextMenu() { string copiedLayoutName = CustomLayouts.CustomLayouts[0].Name + " (1)"; - _session?.ClickContextMenuItem(CustomLayouts.CustomLayouts[0].Name, "Duplicate"); + _session?.ClickContextMenuItem(CustomLayouts.CustomLayouts[0].Name, ElementName.Duplicate); // verify the layout is copied _session?.WaitElementDisplayedByName(copiedLayoutName); diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/DeleteLayoutTests.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/DeleteLayoutTests.cs index f4613e9c45..c8daf32123 100644 --- a/src/modules/fancyzones/UITests-FancyZonesEditor/DeleteLayoutTests.cs +++ b/src/modules/fancyzones/UITests-FancyZonesEditor/DeleteLayoutTests.cs @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation +// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. @@ -10,6 +10,7 @@ using static FancyZonesEditorCommon.Data.CustomLayouts; using static FancyZonesEditorCommon.Data.DefaultLayouts; using static FancyZonesEditorCommon.Data.EditorParameters; using static FancyZonesEditorCommon.Data.LayoutHotkeys; +using static Microsoft.FancyZonesEditor.UnitTests.Utils.FancyZonesEditorSession; namespace Microsoft.FancyZonesEditor.UITests { @@ -295,7 +296,7 @@ namespace Microsoft.FancyZonesEditor.UITests public void DeleteFromContextMenu() { var deletedLayout = CustomLayouts.CustomLayouts[1].Name; - _session?.ClickContextMenuItem(deletedLayout, "Delete"); + _session?.ClickContextMenuItem(deletedLayout, ElementName.Delete); _session?.ClickConfirmDialog(); _session?.WaitFor(1); @@ -313,7 +314,7 @@ namespace Microsoft.FancyZonesEditor.UITests public void DeleteDefaultLayout() { var deletedLayout = CustomLayouts.CustomLayouts[1].Name; - _session?.ClickContextMenuItem(deletedLayout, "Delete"); + _session?.ClickContextMenuItem(deletedLayout, ElementName.Delete); _session?.ClickConfirmDialog(); _session?.WaitFor(1); @@ -333,7 +334,7 @@ namespace Microsoft.FancyZonesEditor.UITests public void DeleteLayoutWithHotkey() { var deletedLayout = CustomLayouts.CustomLayouts[1].Name; - _session?.ClickContextMenuItem(deletedLayout, "Delete"); + _session?.ClickContextMenuItem(deletedLayout, ElementName.Delete); _session?.ClickConfirmDialog(); _session?.WaitFor(1); diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/RunFancyZonesEditorTest.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/RunFancyZonesEditorTest.cs index 9d9543a621..7859d6dcf5 100644 --- a/src/modules/fancyzones/UITests-FancyZonesEditor/RunFancyZonesEditorTest.cs +++ b/src/modules/fancyzones/UITests-FancyZonesEditor/RunFancyZonesEditorTest.cs @@ -188,24 +188,27 @@ namespace Microsoft.FancyZonesEditor.UITests public void OpenEditLayoutDialog() // verify the edit layout dialog is opened { _session?.ClickEditLayout(Constants.TemplateLayoutNames[Constants.TemplateLayouts.Grid]); - Assert.IsNotNull(_session?.FindByAccessibilityId("EditLayoutDialogTitle")); // check the pane header - Assert.IsNotNull(_session?.FindByName("Edit 'Grid'")); // verify it's opened for the correct layout + Assert.IsNotNull(_session?.FindByAccessibilityId(FancyZonesEditorSession.AccessibilityId.DialogTitle)); // check the pane header + Assert.IsNotNull(_session?.FindByName($"Edit '{Constants.TemplateLayoutNames[Constants.TemplateLayouts.Grid]}'")); // verify it's opened for the correct layout } [TestMethod] public void OpenEditLayoutDialog_ByContextMenu_TemplateLayout() // verify the edit layout dialog is opened { - _session?.ClickContextMenuItem(Constants.TemplateLayoutNames[Constants.TemplateLayouts.Grid], "Edit"); - Assert.IsNotNull(_session?.FindByAccessibilityId("EditLayoutDialogTitle")); // check the pane header - Assert.IsNotNull(_session?.FindByName("Edit 'Grid'")); // verify it's opened for the correct layout + _session?.ClickContextMenuItem(Constants.TemplateLayoutNames[Constants.TemplateLayouts.Grid], FancyZonesEditorSession.ElementName.Edit); + _session?.WaitElementDisplayedById(FancyZonesEditorSession.AccessibilityId.DialogTitle); + Assert.IsNotNull(_session?.FindByAccessibilityId(FancyZonesEditorSession.AccessibilityId.DialogTitle)); // check the pane header + Assert.IsNotNull(_session?.FindByName($"Edit '{Constants.TemplateLayoutNames[Constants.TemplateLayouts.Grid]}'")); // verify it's opened for the correct layout } [TestMethod] public void OpenEditLayoutDialog_ByContextMenu_CustomLayout() // verify the edit layout dialog is opened { - _session?.ClickContextMenuItem("Custom layout", "Edit"); - Assert.IsNotNull(_session?.FindByAccessibilityId("EditLayoutDialogTitle")); // check the pane header - Assert.IsNotNull(_session?.FindByName("Edit 'Grid'")); // verify it's opened for the correct layout + string layoutName = "Custom layout"; + _session?.ClickContextMenuItem(layoutName, FancyZonesEditorSession.ElementName.Edit); + _session?.WaitElementDisplayedById(FancyZonesEditorSession.AccessibilityId.DialogTitle); + Assert.IsNotNull(_session?.FindByAccessibilityId(FancyZonesEditorSession.AccessibilityId.DialogTitle)); // check the pane header + Assert.IsNotNull(_session?.FindByName($"Edit '{layoutName}'")); // verify it's opened for the correct layout } [TestMethod] diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs index 29985ad3e7..441755345e 100644 --- a/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs +++ b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs @@ -54,6 +54,7 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils public const string EditLayoutButton = "EditLayoutButton"; // edit layout window: common for template and custom layouts + public const string DialogTitle = "EditLayoutDialogTitle"; public const string SensitivitySlider = "SensitivityInput"; public const string SpacingSlider = "Spacing"; public const string SpacingToggle = "spaceAroundSetting"; @@ -87,21 +88,35 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils public static class ElementName { + public const string Save = "Save"; + public const string Cancel = "Cancel"; + // context menu + public const string Edit = "Edit"; public const string EditZones = "Edit zones"; + public const string Delete = "Delete"; + public const string Duplicate = "Duplicate"; + public const string CreateCustomLayout = "Create custom layout"; // canvas layout editor public const string CanvasEditorWindow = "Canvas layout editor"; // grid layout editor + public const string GridLayoutEditor = "Grid layout editor"; public const string MergeZonesButton = "Merge zones"; } public static class ClassName { + public const string ContextMenu = "ContextMenu"; + public const string TextBox = "TextBox"; + public const string Popup = "Popup"; + // layout editor public const string CanvasZone = "CanvasZone"; public const string GridZone = "GridZone"; + public const string Button = "Button"; + public const string Thumb = "Thumb"; } public FancyZonesEditorSession(TestContext testContext) @@ -185,7 +200,7 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils public WindowsElement OpenContextMenu(string layoutName) { RightClickLayout(layoutName); - return Session.FindElementByClassName("ContextMenu"); + return Session.FindElementByClassName(ClassName.ContextMenu); } public WindowsElement? GetMonitorsList() @@ -234,7 +249,7 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils { try { - return Session.FindElementByClassName("TextBox"); + return Session.FindElementByClassName(ClassName.TextBox); } catch { @@ -252,7 +267,7 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils { try { - return Session.FindElementByClassName("Popup"); + return Session.FindElementByClassName(ClassName.Popup); } catch { @@ -289,7 +304,7 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils { try { - return Session.FindElementByName("Grid layout editor"); + return Session.FindElementByName(ElementName.GridLayoutEditor); } catch { @@ -366,14 +381,14 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils public void ClickSave() { - var button = Session.FindElementByName("Save"); + var button = Session.FindElementByName(ElementName.Save); Assert.IsNotNull(button, "No Save button"); button.Click(); } public void ClickCancel() { - var button = Session.FindElementByName("Cancel"); + var button = Session.FindElementByName(ElementName.Cancel); Assert.IsNotNull(button, "No Cancel button"); button.Click(); } @@ -477,7 +492,7 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils public void MoveSplitter(int xOffset, int yOffset) { - ReadOnlyCollection? thumbs = Session?.FindElementsByClassName("Thumb"); + ReadOnlyCollection thumbs = Session.FindElementsByClassName(ClassName.Thumb); if (thumbs.Count == 0) { return; @@ -538,6 +553,19 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils } } + public WindowsElement? FindByClassName(string name) + { + try + { + return Session.FindElementByClassName(name); + } + catch (Exception) + { + context.WriteLine($"{name} not found"); + return null; + } + } + public bool WaitElementDisplayedByName(string name) { try