public static DashboardPage LoginToAdminWebsiteAs(this IWebDriver driver, string login, string password) { var loginPage = new AdminWebsiteLoginPage(driver); loginPage.NavigateToAdminWebsite(); Logout(driver); return(loginPage.Login(login, password)); }
public void Cannot_login_as_deactivated_user() { // create a user in app service layer var userData = _securityTestHelper.CreateAdmin(_defaultLicenseeId, new[] { _brand }, null, _userPassword); ResetAdminPageAndFilter(); _adminManagerPage.SelectAndDeactivateUser(userData.Username); _loginPage = new AdminWebsiteLoginPage(_driver); _loginPage.LoginAsDeactivatedUser(userData.Username, _userPassword); var errorMsg = _loginPage.GetLoginErrorMsg(); Assert.That(errorMsg, Is.StringContaining("User is deactivated")); Assert.That(_driver.Uri().ToString(), Is.StringContaining(_loginPage.Url.ToString())); }
public override void BeforeEach() { base.BeforeEach(); _driver.Logout(); // register a player on member website _playerData = TestDataGenerator.CreateValidPlayerDataForMemberWebsite("RMB"); _username = _playerData.Username; _memberWebsiteLoginPage = new MemberWebsiteLoginPage(_driver); _memberWebsiteLoginPage.NavigateToMemberWebsite(); var registerPage = _memberWebsiteLoginPage.GoToRegisterPage(); registerPage.Register(_playerData); ////make a deposit by TestHelper //_container.Resolve<PaymentTestHelper>().MakeDeposit(_username, Amount); //Thread.Sleep(15000); // wait for deposit event proceeds for all domains and fake ugs ////go to a Mock games //_playerOverviewPage = registerPage.GoToOverviewPage(); //var playerProfilePage1 = _playerOverviewPage.HeaderMenu.OpenMyAccount(); //_gameListPage = playerProfilePage1.Menu.ClickPlayGamesMenu(); // make a deposit to the player's account by Admin site var adminWebsiteLoginPage = new AdminWebsiteLoginPage(_driver); adminWebsiteLoginPage.NavigateToAdminWebsite(); _dashboardPage = adminWebsiteLoginPage.Login("SuperAdmin", "SuperAdmin"); _driver.MakeOfflineDeposit(_playerData.Username, Amount, _playerData.FullName); Thread.Sleep(15000); // wait for deposit event proceeds for all domains and fake ugs // log in as the player to the member website and go to a Mock games _memberWebsiteLoginPage = new MemberWebsiteLoginPage(_driver); _memberWebsiteLoginPage.NavigateToMemberWebsite(); var playerOverviewPage = _memberWebsiteLoginPage.Login(_playerData.Username, _playerData.Password); var playerProfilePage = playerOverviewPage.HeaderMenu.OpenMyAccount(); _gameListPage = playerProfilePage.Menu.ClickPlayGamesMenu(); }
public override void BeforeEach() { base.BeforeEach(); _loginPage = new AdminWebsiteLoginPage(_driver); _loginPage.NavigateToAdminWebsite(); }
public void Player_can_register_and_play_and_admin_can_track_player_transactions() { // generate test data var userData = TestDataGenerator.CreateValidAdminUserRegistrationData( role: "SuperAdmin", status: "Active", licensee: DefaultLicensee, brand: DefaultBrand, currency: "RMB"); var bonusTemplateName = "reload-bonus-templ" + TestDataGenerator.GetRandomString(4); var bonusName = "reload-bonus" + TestDataGenerator.GetRandomString(5); var bonusCode = TestDataGenerator.GetRandomString(5); _playerData = TestDataGenerator.CreateValidPlayerDataForMemberWebsite("RMB"); const decimal bonusAmount = 200; const decimal depositAmount = 100; // register an admin user on an admin website _dashboardPage = _driver.LoginToAdminWebsiteAsSuperAdmin(); _dashboardPage.BrandFilter.SelectAll(); _driver.CreateUserBasedOnPredefinedRole(userData); //Not a fix: investigation purposes only Thread.Sleep(5000); //wait for new User event proceeds. // log in as SuperAdmin and create a First deposit bonus var adminLogin = userData.UserName; var adminPassword = userData.Password; _dashboardPage = _driver.LoginToAdminWebsiteAs(adminLogin, adminPassword); var bonusTemplateManagerPage = _dashboardPage.Menu.ClickBonusTemplateMenuItem(); var submittedBonusTemplateForm = bonusTemplateManagerPage.OpenNewBonusTemplateForm() .SelectLicenseeAndBrand(DefaultLicensee, DefaultBrand) .SetTemplateName(bonusTemplateName) .SelectBonusType(BonusType.FirstDeposit) .SelectIssuanceMode(IssuanceMode.AutomaticWithCode) .NavigateToRules() .SelectCurrency("RMB") .EnterBonusTier(bonusAmount) .NavigateToSummary() .CloseTab(); var bonusManagerPage = submittedBonusTemplateForm.Menu.ClickBonusMenuItem(); var newBonusForm = bonusManagerPage.OpenNewBonusForm(); var submittedBonusForm = newBonusForm.Submit(bonusName, bonusCode, bonusTemplateName, numberOfdaysToClaimBonus: 30); submittedBonusForm.CloseTab(); bonusManagerPage.ActivateBonus(bonusName); var activeBonus = bonusManagerPage.CheckIfBonusStatusIsActive(bonusName); Assert.IsTrue(activeBonus); //Thread.Sleep(5000); //wait for new Bonus event proceeds for all domains. // register a player on a brand website _brandWebsiteLoginPage = new MemberWebsiteLoginPage(_driver); _brandWebsiteLoginPage.NavigateToMemberWebsite(); var brandWebsiteRegisterPage = _brandWebsiteLoginPage.GoToRegisterPage(); brandWebsiteRegisterPage.Register(_playerData); //var registrationPageStep2 = brandWebsiteRegisterPage.SubmitRgisterForm(_playerData); //Assert.AreEqual(true, registrationSuccess); //Assert.AreEqual("SUCCESS! YOU ARE NOW REGISTERED.", registrationPageStep2.SuccessMessage); // deposit money to the player's account var adminWebsiteLoginPage = new AdminWebsiteLoginPage(_driver); adminWebsiteLoginPage.NavigateToAdminWebsite(); _dashboardPage = adminWebsiteLoginPage.Login(adminLogin, adminPassword); _driver.MakeOfflineDeposit(_playerData.Username, depositAmount, _playerData.FullName, bonusName); Thread.Sleep(15000); // wait for deposit event proceeds for all domains and fake ugs // check the player's main and bonus balance on the admin website var playerManagerPage = _dashboardPage.Menu.ClickPlayerManagerMenuItem(); playerManagerPage.SelectPlayer(_playerData.Username); var playerInfoPage = playerManagerPage.OpenPlayerInfoPage(); playerInfoPage.OpenBalanceInformationSection(); Assert.AreEqual(depositAmount.ToString(), playerInfoPage.GetMainBalance()); Assert.AreEqual(bonusAmount.ToString(), playerInfoPage.GetMainBonusBalance()); // log in as the player to the member website and choose a game _brandWebsiteLoginPage = new MemberWebsiteLoginPage(_driver); _brandWebsiteLoginPage.NavigateToMemberWebsite(); var playerProfilePage = _brandWebsiteLoginPage.Login(_playerData.Username, _playerData.Password); var gameListPage = playerProfilePage.Menu.ClickPlayGamesMenu(); var gamePage = gameListPage.StartGame("Football"); // check the player balance var initialBalance = gamePage.Balance; Assert.AreEqual("Balance: $300.00", initialBalance); // make a bet and check a transaction's type and amount gamePage.PlaceInitialBet(10, "initial game action"); //Assert.AreEqual("-10.00", gamePage.BetAmount); var betTransactionAmount = gamePage.GetTransactionDetail(0, "amount"); Assert.AreEqual("-10.00", betTransactionAmount); Assert.AreEqual("Balance: $290.00", gamePage.Balance); // win a bet gamePage.WinBet(amount: 20); var winTransactionAmount = gamePage.GetTransactionDetail(1, "amount"); Assert.AreEqual("20.00", winTransactionAmount); Assert.AreEqual("Balance: $310.00", gamePage.Balance); //lose a bet //gamePage.LoseBet(amount: 300); //var loseTransactionAmount = gamePage.GetTransactionDetail(2, "amount"); //Assert.AreEqual("-300.00", loseTransactionAmount); //Assert.AreEqual("Balance: $10.00", gamePage.Balance); Thread.Sleep(10000); // wait for game events proceed for all domains and fake ugs // check the player's transactions on the admin website var dashboard = _driver.LoginToAdminWebsiteAsSuperAdmin(); playerManagerPage = dashboard.Menu.ClickPlayerManagerMenuItem(); playerInfoPage = playerManagerPage.OpenPlayerInfoPage(_playerData.Username); playerInfoPage.OpenTransactionsSection(); Assert.AreEqual(-10, playerInfoPage.GetTransactionMainAmount("Bet placed")); Assert.AreEqual(20, playerInfoPage.GetTransactionMainAmount("Bet won")); playerInfoPage.OpenBalanceInformationSection(); Assert.AreEqual("110", playerInfoPage.GetMainBalance()); Assert.AreEqual(bonusAmount.ToString(), playerInfoPage.GetMainBonusBalance()); }