Files
PowerToys/src/tests/win-app-driver/FancyZonesTests/EditorTemplatesApplyTests.cs
P-Storm 0d4017fe1a Io abstraction (#7293)
Co-authored-by: p-storm <paul.de.man@gmail.com>
2020-11-02 18:33:43 +01:00

99 lines
2.5 KiB
C#

using System.IO.Abstractions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json.Linq;
namespace PowerToysTests
{
[TestClass]
public class FancyZonesEditorTemplatesApplyTests : FancyZonesEditor
{
private static readonly IFileSystem FileSystem = new FileSystem();
private static readonly IFile File = FileSystem.File;
private void ApplyLayout(string tabName)
{
editorWindow.FindElementByName(tabName).Click();
editorWindow.FindElementByAccessibilityId("ApplyTemplateButton").Click();
try
{
Assert.IsNull(session.FindElementByName("FancyZones Editor"));
}
catch (OpenQA.Selenium.WebDriverException)
{
//editor was closed as expected
}
}
private void CheckSettingsLayout(string expectedLayout)
{
JObject settings = JObject.Parse(File.ReadAllText(_zoneSettingsPath));
Assert.AreEqual(expectedLayout, settings["devices"][0]["active-zoneset"]["type"]);
}
[TestMethod]
public void ApplyFocus()
{
ApplyLayout("Focus");
CheckSettingsLayout("focus");
}
[TestMethod]
public void ApplyColumns()
{
ApplyLayout("Columns");
CheckSettingsLayout("columns");
}
[TestMethod]
public void ApplyRows()
{
ApplyLayout("Rows");
CheckSettingsLayout("rows");
}
[TestMethod]
public void ApplyGrid()
{
ApplyLayout("Grid");
CheckSettingsLayout("grid");
}
[TestMethod]
public void ApplyPriorityGrid()
{
ApplyLayout("Priority Grid");
CheckSettingsLayout("priority-grid");
}
[ClassInitialize]
public static void ClassInitialize(TestContext context)
{
Setup(context);
Assert.IsNotNull(session);
EnableModules(false, true, false, false, false, false, false, false);
ResetDefaultFancyZonesSettings(true);
}
[ClassCleanup]
public static void ClassCleanup()
{
CloseSettings();
ExitPowerToys();
TearDown();
}
[TestInitialize]
public void TestInitialize()
{
Assert.IsTrue(OpenEditor());
OpenTemplates();
}
[TestCleanup]
public void TestCleanup()
{
}
}
}