mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-27 12:16:42 +00:00
test(BRIDGE-246): Add Settings Menu Bridge UI e2e automation tests
This commit is contained in:
332
tests/e2e/ui_tests/windows_os/Tests/SettingsMenuTests.cs
Normal file
332
tests/e2e/ui_tests/windows_os/Tests/SettingsMenuTests.cs
Normal file
@ -0,0 +1,332 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user