forked from Silverfish/proton-bridge
64 lines
3.1 KiB
C#
64 lines
3.1 KiB
C#
using FlaUI.Core.AutomationElements;
|
|
using FlaUI.Core.Definitions;
|
|
using ProtonMailBridge.UI.Tests.TestsHelper;
|
|
using FlaUI.Core.Input;
|
|
using System.DirectoryServices;
|
|
using System.Net;
|
|
|
|
namespace ProtonMailBridge.UI.Tests.Results
|
|
{
|
|
public class HelpMenuResult : UIActions
|
|
{
|
|
private AutomationElement NotificationWindow => Window.FindFirstDescendant(cf => cf.ByControlType(ControlType.Window));
|
|
private AutomationElement[] TextFields => Window.FindAllDescendants(cf => cf.ByControlType(ControlType.Text));
|
|
private TextBox HelpText => Window.FindFirstDescendant(cf => cf.ByControlType(ControlType.Text).And(cf.ByName("Help"))).AsTextBox();
|
|
private TextBox BridgeIsUpToDate => NotificationWindow.FindFirstDescendant(cf => cf.ByControlType(ControlType.Text)).AsTextBox();
|
|
private AutomationElement ChromeTab => ChromeWindow.FindFirstDescendant(cf => cf.ByControlType(ControlType.Document));
|
|
private TextBox ChromeText => ChromeTab.FindFirstDescendant(cf => cf.ByControlType(ControlType.Text).And(cf.ByName("We can help you with every step of using Proton Mail Bridge."))).AsTextBox();
|
|
|
|
//private AutomationElement AdressBar => FileExplorerWindow.FindFirstDescendant(cf => cf.ByControlType(ControlType.Group).And(cf.ByAutomationId("PART_BreadcrumbBar")));
|
|
|
|
private AutomationElement AdressPane => FileExplorerWindow.FindFirstDescendant(cf => cf.ByControlType(ControlType.Pane).And(cf.ByClassName("Microsoft.UI.Content.DesktopChildSiteBridge")));
|
|
private AutomationElement AdressBar => AdressPane.FindFirstDescendant(cf =>cf.ByControlType(ControlType.Group).And(cf.ByAutomationId("PART_BreadcrumbBar")));
|
|
private AutomationElement[] Folders => AdressBar.FindAllDescendants(cf => cf.ByControlType(ControlType.SplitButton));
|
|
|
|
private TextBox SendReportConfirmation => NotificationWindow.FindFirstDescendant(cf => cf.ByControlType(ControlType.Text).And(cf.ByName("Thank you for the report. We'll get back to you as soon as we can."))).AsTextBox();
|
|
|
|
public HelpMenuResult CheckIfUserOpenedHelpMenu()
|
|
{
|
|
Assert.That(HelpText.IsAvailable, Is.True);
|
|
return this;
|
|
}
|
|
|
|
public HelpMenuResult CheckBridgeIsUpToDateNotification()
|
|
{
|
|
Assert.That(BridgeIsUpToDate.IsAvailable, Is.True);
|
|
return this;
|
|
}
|
|
|
|
public HelpMenuResult CheckHelpLinkIsOpen()
|
|
{
|
|
Assert.That(ChromeText.IsAvailable, Is.True);
|
|
return this;
|
|
}
|
|
|
|
public HelpMenuResult CheckBridgeLogsAreOpen()
|
|
{
|
|
var adressName = "";
|
|
foreach (var folder in Folders)
|
|
{
|
|
var folderName = folder.Name;
|
|
adressName = System.IO.Path.Combine(adressName, folderName);
|
|
}
|
|
var expectedPath = "\\AppData\\Roaming\\protonmail\\bridge-v3\\logs";
|
|
Assert.That(adressName.Contains(expectedPath), Is.True);
|
|
return this;
|
|
}
|
|
|
|
public HelpMenuResult CheckIfProblemIsSuccReported()
|
|
{
|
|
Assert.That(SendReportConfirmation.IsAvailable, Is.True);
|
|
return this;
|
|
}
|
|
}
|
|
} |