From 5f7269ced1ddbde130b3b056b9241ca5a35e82cc Mon Sep 17 00:00:00 2001 From: seraphima Date: Thu, 29 Feb 2024 17:27:01 +0100 Subject: [PATCH] file utils --- .../Utils/FancyZonesEditorFiles.cs | 43 +++++++++++++++++++ .../Utils/FancyZonesEditorSession.cs | 18 ++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorFiles.cs diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorFiles.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorFiles.cs new file mode 100644 index 0000000000..cc969f39b0 --- /dev/null +++ b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorFiles.cs @@ -0,0 +1,43 @@ +// 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. + +using FancyZonesEditorCommon.Data; + +namespace Microsoft.FancyZonesEditor.UITests.Utils +{ + public class FancyZonesEditorFiles + { + public IOTestHelper ParamsIOHelper { get; } + + public IOTestHelper AppliedLayoutsIOHelper { get; } + + public IOTestHelper CustomLayoutsIOHelper { get; } + + public IOTestHelper DefaultLayoutsIOHelper { get; } + + public IOTestHelper LayoutHotkeysIOHelper { get; } + + public IOTestHelper LayoutTemplatesIOHelper { get; } + + public FancyZonesEditorFiles() + { + ParamsIOHelper = new IOTestHelper(new EditorParameters().File); + AppliedLayoutsIOHelper = new IOTestHelper(new AppliedLayouts().File); + CustomLayoutsIOHelper = new IOTestHelper(new CustomLayouts().File); + DefaultLayoutsIOHelper = new IOTestHelper(new DefaultLayouts().File); + LayoutHotkeysIOHelper = new IOTestHelper(new LayoutHotkeys().File); + LayoutTemplatesIOHelper = new IOTestHelper(new LayoutTemplates().File); + } + + public void Restore() + { + ParamsIOHelper.RestoreData(); + AppliedLayoutsIOHelper.RestoreData(); + CustomLayoutsIOHelper.RestoreData(); + DefaultLayoutsIOHelper.RestoreData(); + LayoutHotkeysIOHelper.RestoreData(); + LayoutTemplatesIOHelper.RestoreData(); + } + } +} diff --git a/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs index eec7630117..05d2742885 100644 --- a/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs +++ b/src/modules/fancyzones/UITests-FancyZonesEditor/Utils/FancyZonesEditorSession.cs @@ -5,6 +5,7 @@ using System; using System.IO; using System.Reflection; +using Microsoft.FancyZonesEditor.UITests.Utils; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Appium; @@ -18,6 +19,21 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723"; private const string FancyZonesEditorPath = @"\..\..\..\PowerToys.FancyZonesEditor.exe"; + private static FancyZonesEditorFiles? _files; + + public static FancyZonesEditorFiles Files + { + get + { + if (_files == null) + { + _files = new FancyZonesEditorFiles(); + } + + return _files; + } + } + public WindowsDriver? Session { get; } public WindowsElement? MainEditorWindow { get; } @@ -76,6 +92,8 @@ namespace Microsoft.FancyZonesEditor.UnitTests.Utils Session.Quit(); Session.Dispose(); } + + Files.Restore(); } private WindowsElement? GetLayout(string layoutName)