Files
proton-bridge/tests/e2e/ui_tests/windows_os/Tests/HelpMenuTests.cs

141 lines
5.1 KiB
C#

using NUnit.Framework;
using ProtonMailBridge.UI.Tests.TestsHelper;
using ProtonMailBridge.UI.Tests.Windows;
using ProtonMailBridge.UI.Tests.Results;
using FlaUI.Core.Input;
using FlaUI.Core.AutomationElements;
using FlaUI.UIA3;
namespace ProtonMailBridge.UI.Tests.Tests
{
[TestFixture]
public class HelpMenuTests : TestSession
{
private readonly LoginWindow _loginWindow = new();
private readonly HomeWindow _mainWindow = new();
private readonly HelpMenuResult _helpMenuResult = new();
private readonly HelpMenuWindow _helpMenuWindow = new();
private readonly HomeResult _homeResult = new();
[SetUp]
public void TestInitialize()
{
LaunchApp();
}
[Test]
public void OpenHelpMenuAndSwitchBackToAccountView()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickBackFromHelpMenu();
Thread.Sleep(2000);
_homeResult.CheckIfLoggedIn();
}
[Test]
public void OpenGoToHelpTopics()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickGoToHelpTopics();
Wait.UntilInputIsProcessed(TimeSpan.FromSeconds(3));
switchToChromeWindow();
_helpMenuResult.CheckHelpLinkIsOpen();
Window.Focus();
_helpMenuWindow.ClickBackFromHelpMenu();
}
[Test]
public void CheckForUpdates()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickCheckNowButton();
Wait.UntilInputIsProcessed(TimeSpan.FromSeconds(3));
_helpMenuResult.CheckBridgeIsUpToDateNotification();
_helpMenuWindow.ConfirmNotification();
Wait.UntilInputIsProcessed(TimeSpan.FromSeconds(1));
_helpMenuWindow.ClickBackFromHelpMenu();
}
[Test]
public void OpenLogs()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickLogsButton();
Wait.UntilInputIsProcessed(TimeSpan.FromSeconds(3));
switchToFileExplorerWindow();
_helpMenuResult.CheckBridgeLogsAreOpen();
Window.Focus();
_helpMenuWindow.ClickBackFromHelpMenu();
}
[Test]
public void OpenMissingEmailsReportProblem()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickReportProblemButton();
_helpMenuWindow.ClickICannotFindEmailsInEmailClient();
_helpMenuWindow.EnterMissingEmailsProblemDetails();
_helpMenuResult.CheckIfProblemIsSuccReported();
_helpMenuWindow.ConfirmNotification();
}
[Test]
public void OpenNotAbleToSendEmailsReportProblem()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickReportProblemButton();
_helpMenuWindow.ClickNotAbleToSendEmails();
_helpMenuWindow.EnterNotAbleToSendEmailProblemDetails();
_helpMenuResult.CheckIfProblemIsSuccReported();
_helpMenuWindow.ConfirmNotification();
}
[Test]
public void OpenBridgeIsNotStartingCorrectlyReportProblem()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickReportProblemButton();
_helpMenuWindow.ClickBridgeIsNotStartingCorrectly();
_helpMenuWindow.EnterBridgeIsNotStartingCorrectlyProblemDetails();
_helpMenuResult.CheckIfProblemIsSuccReported();
_helpMenuWindow.ConfirmNotification();
}
[Test]
public void OpenBridgeIsRunningSlowReportProblem()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickReportProblemButton();
_helpMenuWindow.ClickBridgeIsRunningSlow();
_helpMenuWindow.EnterBridgeIsRunningSlowProblemDetails();
_helpMenuResult.CheckIfProblemIsSuccReported();
_helpMenuWindow.ConfirmNotification();
}
[Test]
public void OpenSomethingElseReportProblem()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_helpMenuWindow.ClickHelpButton();
_helpMenuWindow.ClickReportProblemButton();
_helpMenuWindow.ClickSomethingElse();
_helpMenuWindow.EnterSomethingElseProblemDetails();
_helpMenuResult.CheckIfProblemIsSuccReported();
_helpMenuWindow.ConfirmNotification();
}
[TearDown]
public void TestCleanup()
{
_mainWindow.RemoveAccount();
ClientCleanup();
}
}
}