mirror of
https://github.com/microsoft/PowerToys
synced 2025-08-22 01:58:04 +00:00
207 lines
5.5 KiB
C#
207 lines
5.5 KiB
C#
using System.IO.Abstractions;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using Newtonsoft.Json.Linq;
|
|
using OpenQA.Selenium.Appium;
|
|
using OpenQA.Selenium.Interactions;
|
|
|
|
namespace PowerToysTests
|
|
{
|
|
[TestClass]
|
|
public class FancyZonesEditorTemplatesEditTests : FancyZonesEditor
|
|
{
|
|
private static readonly IFileSystem FileSystem = new FileSystem();
|
|
private static readonly IFile File = FileSystem.File;
|
|
private void ChangeLayout()
|
|
{
|
|
new Actions(session).MoveToElement(creatorWindow.FindElementByAccessibilityId("PART_TitleBar")).MoveByOffset(0, -50).Click().Perform();
|
|
}
|
|
|
|
private void Cancel(AppiumWebElement creatorWindow)
|
|
{
|
|
AppiumWebElement cancelButton = creatorWindow.FindElementByName("Cancel");
|
|
Assert.IsNotNull(cancelButton);
|
|
new Actions(session).MoveToElement(cancelButton).Click().Perform();
|
|
}
|
|
|
|
private void CancelTest(AppiumWebElement creatorWindow)
|
|
{
|
|
Cancel(creatorWindow);
|
|
WaitSeconds(1);
|
|
|
|
Assert.AreEqual(_defaultZoneSettings, File.ReadAllText(_zoneSettingsPath), "Settings were changed");
|
|
}
|
|
|
|
private void SaveTest()
|
|
{
|
|
new Actions(session).MoveToElement(creatorWindow.FindElementByName("Save and apply")).Click().Perform();
|
|
WaitSeconds(1);
|
|
|
|
JObject settings = JObject.Parse(File.ReadAllText(_zoneSettingsPath));
|
|
Assert.AreEqual("Custom Layout 1", settings["custom-zone-sets"][0]["name"]);
|
|
Assert.AreEqual(settings["custom-zone-sets"][0]["uuid"], settings["devices"][0]["active-zoneset"]["uuid"]);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditFocusCancel()
|
|
{
|
|
OpenCreatorWindow("Focus", "EditTemplateButton");
|
|
ZoneCountTest(3, 0);
|
|
|
|
creatorWindow.FindElementByAccessibilityId("newZoneButton").Click();
|
|
ZoneCountTest(4, 0);
|
|
|
|
CancelTest(creatorWindow);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditColumnsCancel()
|
|
{
|
|
OpenCreatorWindow("Columns", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
CancelTest(creatorWindow);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditRowsCancel()
|
|
{
|
|
OpenCreatorWindow("Rows", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
CancelTest(creatorWindow);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditGridCancel()
|
|
{
|
|
OpenCreatorWindow("Grid", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
CancelTest(creatorWindow);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditPriorityGridCancel()
|
|
{
|
|
OpenCreatorWindow("Priority Grid", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
CancelTest(creatorWindow);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditFocusSave()
|
|
{
|
|
OpenCreatorWindow("Focus", "EditTemplateButton");
|
|
ZoneCountTest(3, 0);
|
|
|
|
creatorWindow.FindElementByAccessibilityId("newZoneButton").Click();
|
|
ZoneCountTest(4, 0);
|
|
|
|
SaveTest();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditColumnsSave()
|
|
{
|
|
OpenCreatorWindow("Columns", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
SaveTest();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditRowsSave()
|
|
{
|
|
OpenCreatorWindow("Rows", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
SaveTest();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditGridSave()
|
|
{
|
|
OpenCreatorWindow("Grid", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
SaveTest();
|
|
}
|
|
|
|
[TestMethod]
|
|
public void EditPriorityGridSave()
|
|
{
|
|
OpenCreatorWindow("Priority Grid", "EditTemplateButton");
|
|
ZoneCountTest(0, 3);
|
|
|
|
ChangeLayout();
|
|
ZoneCountTest(0, 4);
|
|
|
|
SaveTest();
|
|
}
|
|
|
|
[ClassInitialize]
|
|
public static void ClassInitialize(TestContext context)
|
|
{
|
|
Setup(context);
|
|
Assert.IsNotNull(session);
|
|
EnableModules(false, true, false, false, false, false, false, false);
|
|
|
|
ResetDefaultFancyZonesSettings(false);
|
|
}
|
|
|
|
[ClassCleanup]
|
|
public static void ClassCleanup()
|
|
{
|
|
CloseSettings();
|
|
ExitPowerToys();
|
|
TearDown();
|
|
}
|
|
|
|
[TestInitialize]
|
|
public void TestInitialize()
|
|
{
|
|
ResetDefaultZoneSettings(true);
|
|
Assert.IsTrue(OpenEditor());
|
|
OpenTemplates();
|
|
}
|
|
|
|
[TestCleanup]
|
|
public void TestCleanup()
|
|
{
|
|
//Close editor
|
|
try
|
|
{
|
|
if (editorWindow != null)
|
|
{
|
|
editorWindow.SendKeys(OpenQA.Selenium.Keys.Alt + OpenQA.Selenium.Keys.F4);
|
|
}
|
|
}
|
|
catch (OpenQA.Selenium.WebDriverException)
|
|
{
|
|
//editor was already closed
|
|
}
|
|
}
|
|
}
|
|
} |