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

333 lines
13 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ProtonMailBridge.UI.Tests.Results;
using ProtonMailBridge.UI.Tests.Windows;
using NUnit.Framework;
using ProtonMailBridge.UI.Tests.TestsHelper;
using FlaUI.Core.Input;
using FlaUI.Core.AutomationElements;
using FlaUI.UIA3;
namespace ProtonMailBridge.UI.Tests.Tests
{
[TestFixture]
public class SettingsMenuTests : 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();
private readonly SettingsMenuWindow _settingsMenuWindow = new();
private readonly SettingsMenuResults _settingsMenuResults = new();
[SetUp]
public void TestInitialize()
{
LaunchApp();
}
[Test]
public void OpenSettingsMenuAndSwitchBackToAccountView()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ClickBackFromSettingsMenu();
Thread.Sleep(2000);
_homeResult.CheckIfLoggedIn();
}
[Test]
public void VerifyAutomaticUpdateIsEnabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuResults.AutomaticUpdatesIsEnabledByDefault();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDisableAndEnableAutomaticUpdates()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.DisableAndEnableAutomaticUpdates();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyOpenOnStartUpIsEnabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuResults.OpenOnStartUpIsEnabledByDefault();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDisableAndEnableOpenOnStartUp()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.DisableAndEnableOpenOnStartUp();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyBetaAccessIsDisabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuResults.BetaAccessIsDisabledByDefault();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyEnableAndDisableBetaAccess()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.EnableAndDisableBetaAccess();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyExpandAndCollapseAdvancedSettings()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyAlternativeRoutingIsDisabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuResults.AlternativeRoutingIsDisabledByDefault();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyEnableAndDisableAlternativeRouting()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuWindow.EnableAndDisableAlternativeRouting();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDarkModeIsDisabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuResults.DarkModeIsDisabledByDefault();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void EnableAndDisableDarkMode()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuWindow.CheckEnableAndDisableDarkMode();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyShowAllMailIsEnabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuResults.ShowAllMailIsEnabledByDefault();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDisableAndEnableShowAllMail()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
_settingsMenuWindow.DisableAndEnableShowAllMail();
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyCollectUsageDiagnosticsIsEnabledByDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
//Thread.Sleep(3000);
_settingsMenuResults.CollectUsageDiagnosticsIsEnabledByDefault();
Mouse.Scroll(20);
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDisableAndEnableCollectUsageDiagnostics()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
_settingsMenuWindow.DisableAndEnableCollectUsageDiagnostics();
Mouse.Scroll(20);
_settingsMenuWindow.CollapseAdvancedSettings();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDefaultImapSmtpPorts()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(2000);
_settingsMenuWindow.OpenChangeDefaultPorts();
Thread.Sleep(2000);
_settingsMenuResults.VerifyDefaultPorts();
_settingsMenuWindow.CancelChangingDefaultPorts();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void ChangeAndSwitchToDefaultIMAPandSMTPports()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(5000);
_settingsMenuWindow.ChangeDefaultPorts();
_settingsMenuWindow.SwitchBackToDefaultPorts();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void VerifyDefaultConnectionMode()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(5000);
_settingsMenuWindow.OpenChangeConnectionMode();
_settingsMenuResults.VerifyDefaultConnectionMode();
_settingsMenuWindow.CancelChangeConnectionMode();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void ChangeConnectionModeAndSwitchToDefault()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(5000);
_settingsMenuWindow.OpenChangeConnectionMode();
_settingsMenuWindow.ChangeConnectionMode();
_settingsMenuWindow.OpenChangeConnectionMode();
_settingsMenuResults.AssertTheChangedConnectionMode();
_settingsMenuWindow.CancelChangeConnectionMode();
_settingsMenuWindow.OpenChangeConnectionMode();
_settingsMenuWindow.SwitchBackToDefaultConnectionMode();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void OpenConfigureLocalCache()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(2000);
_settingsMenuWindow.ConfigureLocalCache();
Thread.Sleep(2000);
_settingsMenuResults.DefaultCacheLocation();
_settingsMenuWindow.CancelToConfigureLocalCache();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void ChangeLocationSwitchBackToDefaultAndDeleteOldLocalCacheLocation()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(2000);
_settingsMenuWindow.ConfigureLocalCache();
Thread.Sleep(2000);
_settingsMenuWindow.ChangeAndSwitchBackLocalCacheLocation();
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void ExportTlsCertificatesVerifyExportAndDeleteTheExportFolder()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(2000);
_settingsMenuWindow.ExportAssertDeleteTLSCertificates();
Thread.Sleep(2000);
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void RepairBridge()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(2000);
_settingsMenuWindow.VerifyRepairRestartsSync();
Thread.Sleep(2000);
_settingsMenuWindow.ClickBackFromSettingsMenu();
}
[Test]
public void ResetBridge()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_settingsMenuWindow.ClickSettingsButton();
_settingsMenuWindow.ExpandAdvancedSettings();
Mouse.Scroll(-20);
Thread.Sleep(2000);
_settingsMenuWindow.VerifyResetAndRestartBridge();
Thread.Sleep(2000);
_loginWindow.SignIn(TestUserData.GetPaidUser());
}
[TearDown]
public void TestCleanup()
{
_mainWindow.RemoveAccount();
ClientCleanup();
}
}
}