test(BRIDGE-220): Add Bridge E2E UI login/logout tests for Windows

This commit is contained in:
Gordana Zafirova
2024-10-18 07:52:46 +00:00
parent 7457fb06d2
commit 93396145dc
6 changed files with 321 additions and 17 deletions

View File

@ -2,6 +2,7 @@
using ProtonMailBridge.UI.Tests.TestsHelper;
using ProtonMailBridge.UI.Tests.Windows;
using ProtonMailBridge.UI.Tests.Results;
using FlaUI.Core.Input;
namespace ProtonMailBridge.UI.Tests.Tests
{
@ -13,13 +14,6 @@ namespace ProtonMailBridge.UI.Tests.Tests
private readonly HomeResult _homeResult = new();
private readonly string FreeAccountErrorText = "Bridge is exclusive to our mail paid plans. Upgrade your account to use Bridge.";
[Test]
public void LoginAsPaidUser()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
}
[Test]
public void LoginAsFreeUser()
{
@ -28,13 +22,128 @@ namespace ProtonMailBridge.UI.Tests.Tests
}
[Test]
public void SuccessfullLogout()
public void LoginAsPaidUser()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
}
[Test]
public void VerifyConnectedState()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
_homeResult.CheckConnectedState();
}
[Test]
public void VerifyAccountSynchronizingBar()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfSynchronizingBarIsShown();
}
[Test]
public void AddAliasAddress()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
_mainWindow.AddNewAccount();
_loginWindow.SignIn(TestUserData.GetAliasUser());
_homeResult.CheckIfAccountAlreadySignedInIsDisplayed();
_homeResult.ClickOkToAcknowledgeAccountAlreadySignedIn();
_loginWindow.ClickCancelToSignIn();
}
[Test]
public void LoginWithMailboxPassword()
{
_loginWindow.SignInMailbox(TestUserData.GetMailboxUser());
_homeResult.CheckIfLoggedIn();
_mainWindow.SignOutAccount();
_homeResult.CheckIfAccountIsSignedOut();
}
[Test]
public void AddSameAccountTwice()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
_mainWindow.AddNewAccount();
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfAccountAlreadySignedInIsDisplayed();
_homeResult.ClickOkToAcknowledgeAccountAlreadySignedIn();
_loginWindow.ClickCancelToSignIn();
_homeResult.CheckIfLoggedIn();
}
[Test]
public void AddAccountWithWrongCredentials()
{
_loginWindow.SignIn(TestUserData.GetIncorrectCredentialsUser());
_homeResult.CheckIfIncorrectCredentialsErrorIsDisplayed();
_loginWindow.ClickCancelToSignIn();
}
[Test, Order (1)]
public void AddAccountWithEmptyCredentials()
{
_loginWindow.SignIn(TestUserData.GetEmptyCredentialsUser());
_homeResult.CheckIfEnterUsernameAndEnterPasswordErrorMsgsAreDisplayed();
_loginWindow.ClickCancelToSignIn();
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
}
[Test]
public void AddSameAccountAfterBeingSignedOut()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
_mainWindow.SignOutAccount();
Wait.UntilInputIsProcessed(TimeSpan.FromSeconds(3));
_mainWindow.ClickSignInMainWindow();
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
_mainWindow.SignOutAccount();
}
/*
[Test]
public void AddSecondAccount()
{
_loginWindow.SignIn(TestUserData.GetPaidUser());
_homeResult.CheckIfLoggedIn();
_mainWindow.AddNewAccount();
_loginWindow.SignInMailbox(TestUserData.GetMailboxUser());
_homeResult.CheckIfLoggedIn();
}
*/
[Test]
public void AddDisabledAccount()
{
_loginWindow.SignIn(TestUserData.GetDisabledUser());
_homeResult.CheckIfDsabledAccountErrorIsDisplayed();
_loginWindow.ClickCancelToSignIn();
}
[Test]
public void AddDeliquentAccount()
{
_loginWindow.SignIn(TestUserData.GetDeliquentUser());
_homeResult.CheckIfDelinquentAccountErrorIsDisplayed();
_loginWindow.ClickCancelToSignIn();
}
//[Test]
//public void SuccessfullLogout()
//{
// _loginWindow.SignIn(TestUserData.GetPaidUser());
// _mainWindow.SignOutAccount();
// _homeResult.CheckIfAccountIsSignedOut();
//}
[SetUp]
public void TestInitialize()
{
@ -48,4 +157,4 @@ namespace ProtonMailBridge.UI.Tests.Tests
ClientCleanup();
}
}
}
}