public override void BeforeEach()
        {
            base.BeforeEach();

            _brandWebsiteLoginPage = new MemberWebsiteLoginPage(_driver);
            _playerData            = TestDataGenerator.CreateValidPlayerDataForMemberWebsite("RMB");
        }
Exemplo n.º 2
0
        public static RegistrationDataForMemberWebsite CreateRegistrationDataWithSpacesOnly()
        {
            const string data   = "   ";
            var          result = new RegistrationDataForMemberWebsite
            {
                Username          = data,
                FirstName         = data,
                LastName          = data,
                Email             = data,
                PhoneNumber       = data,
                Password          = data,
                Address           = data,
                PostalCode        = data,
                City              = data,
                Gender            = data,
                Title             = data,
                AddressLine2      = data,
                AddressLine3      = data,
                AddressLine4      = data,
                ContactPreference = data,
                SecurityAnswer    = data,
            };

            return(result);
        }
Exemplo n.º 3
0
        public static RegistrationDataForMemberWebsite RegistrationDataExceedsMaxLimit()
        {
            var username = "******" + GetRandomStringWithSpecialSymbols(10);
            var result   = new RegistrationDataForMemberWebsite
            {
                Username          = username,
                FirstName         = "First-name" + GetRandomStringWithSpecialSymbols(37),
                LastName          = "Last-name" + GetRandomStringWithSpecialSymbols(12),
                Email             = GetRandomString(43) + "@mail.ru",
                PhoneNumber       = GetRandomPhoneNumber().Replace("-", string.Empty),
                Password          = username,
                Address           = GetRandomString(51),
                PostalCode        = GetRandomString(11),
                Country           = GetRandomCountryCode(),
                Currency          = GetRandomCurrencyCode(),
                Gender            = GetRandomGender(),
                Title             = GetRandomTitle(),
                AddressLine2      = "address Line 2",
                AddressLine3      = "address Line 3",
                AddressLine4      = "address Line 4",
                City              = "Singapore",
                ContactPreference = GetRandomContactMethod(),
            };

            return(result);
        }
Exemplo n.º 4
0
 public override void BeforeEach()
 {
     base.BeforeEach();
     _driver.Logout();
     _registerPage = new RegisterPage(_driver);
     _registerPage.NavigateToMemberWebsite();
     _data = TestDataGenerator.CreateValidPlayerDataForMemberWebsite("CAD", "en-US", "CA");
 }
Exemplo n.º 5
0
 public override void BeforeAll()
 {
     base.BeforeAll();
     _data              = _container.Resolve <PlayerTestHelper>().CreatePlayerForMemberWebsite();
     _correctUsername   = _data.Username;
     _correctPassword   = _data.Password;
     _incorrectUsername = _correctUsername + 1;
     _incorrectPassword = _correctPassword + 1;
 }
Exemplo n.º 6
0
        public override void BeforeAll()
        {
            base.BeforeAll();

            _settingsProvider = _container.Resolve <ICommonSettingsProvider>();
            var playerTestHelper = _container.Resolve <PlayerTestHelper>();

            //create a player
            _player = playerTestHelper.CreatePlayerForMemberWebsite(currencyCode: "CAD", password: "******");
        }
Exemplo n.º 7
0
        protected async Task LogInMemberApiWithNewUser()
        {
            // create a player
            var player = _playerTestHelper.CreatePlayerForMemberWebsite(currencyCode: "CAD");

            LoggedInPlayerMetadata = player;
            PlayerId = _playerTestHelper.GetPlayerByUsername(player.Username);

            await LogInMemberApi(player.Username, player.Password);
        }
Exemplo n.º 8
0
        public void Can_make_offline_deposit_and_view_updated_balance_on_game_page()
        {
            // register a player on member website
            _playerData = _container.Resolve <PlayerTestHelper>().CreatePlayerForMemberWebsite("CAD");
            _username   = _playerData.Username;
            _password   = _playerData.Password;

            //check empty balance of the player
            _memberWebsiteLoginPage = new MemberWebsiteLoginPage(_driver);
            _memberWebsiteLoginPage.NavigateToMemberWebsite();
            _playerProfilePage = _memberWebsiteLoginPage.Login(_username, _password);

            _gameListPage = _playerProfilePage.Menu.ClickPlayGamesMenu();
            _gamePage     = _gameListPage.StartGame("Football");
            var initialBalance = _gamePage.Balance;

            Assert.AreEqual("Balance: $0.00", initialBalance);


            var playerName = _gamePage.PlayerName;
            var expectedPlayerLoginName = String.Format("Name: {0}", _playerData.Username);

            Assert.AreEqual(expectedPlayerLoginName, playerName);

            // login to admin website and make an offline deposit request
            _driver.Manage().Cookies.DeleteAllCookies();
            var dashboardPage = _driver.LoginToAdminWebsiteAsSuperAdmin();

            _driver.MakeOfflineDeposit(_username, Amount, _playerData.FullName);

            var playerManagerPage = dashboardPage.Menu.ClickPlayerManagerMenuItem();
            var playerInfoPage    = playerManagerPage.OpenPlayerInfoPage(_username);

            playerInfoPage.OpenTransactionsSection();

            Assert.AreEqual(Amount, playerInfoPage.GetTransactionMainAmount("Deposit"));

            // check the balance on the member website
            _memberWebsiteLoginPage = new MemberWebsiteLoginPage(_driver);
            _memberWebsiteLoginPage.NavigateToMemberWebsite();

            _playerProfilePage = _memberWebsiteLoginPage.Login(_username, _password);
            var gameListPage = _playerProfilePage.Menu.ClickPlayGamesMenu();

            _gamePage = gameListPage.StartGame("Football");
            var currentBalance = _gamePage.Balance;

            Assert.AreEqual("Balance: $100.25", currentBalance);
        }
Exemplo n.º 9
0
        public override void BeforeAll()
        {
            base.BeforeAll();
            //create a player
            _playerTestHelper = _container.Resolve<PlayerTestHelper>();
            _paymentTestHelper = _container.Resolve<PaymentTestHelper>();
            _player = _playerTestHelper.CreatePlayerForMemberWebsite(currencyCode: "CAD");

            //deposit money to the player's main balance
            _paymentTestHelper.MakeDeposit(_player.Username, DepositAmount);
            
            //navigate to brand website
            _brandWebsiteLoginPage = new MemberWebsiteLoginPage(_driver);
            _brandWebsiteLoginPage.NavigateToMemberWebsite();
        }
Exemplo n.º 10
0
        public override void BeforeEach()
        {
            base.BeforeEach();
            _driver.Logout();
            _data            = TestDataGenerator.CreateValidPlayerDataForMemberWebsite();
            _correctUsername = _data.Username;
            _correctPassword = _data.Password;
            _registerPage    = new RegisterPage(_driver);
            _registerPage.NavigateToMemberWebsite();
            _registerPage.Register(_data);

            _loginPage = new MemberWebsiteLoginPage(_driver);
            _loginPage.NavigateToMemberWebsite();
            _driver.WaitForJavaScript();
            _playerProfilePage = _loginPage.Login(_correctUsername, _correctPassword);
            _driver.WaitForJavaScript();
        }
Exemplo n.º 11
0
        public override void BeforeEach()
        {
            base.BeforeEach();

            _brandWebsiteLoginPage = new MemberWebsiteLoginPage(_driver);
            _playerData            = TestDataGenerator.CreateValidPlayerDataForMemberWebsite("RMB");

            // register a player on a brand website
            _brandWebsiteLoginPage.NavigateToMemberWebsite();
            var brandWebsiteRegisterPage = _brandWebsiteLoginPage.GoToRegisterPage();
            var _registerPageStep2       = brandWebsiteRegisterPage.Register(_playerData);

            //verify the player was registered
            Assert.AreEqual("NEXT STEP: DEPOSIT BELOW", _registerPageStep2.GetSuccessMessage());

            _brandWebsiteLoginPage.NavigateToMemberWebsite();
            _playerProfilePage = _brandWebsiteLoginPage.Login(_playerData.Username, _playerData.Password);
            _cashierPage       = _playerProfilePage.Menu.OpenCashierPage();
        }
        public override void BeforeAll()
        {
            base.BeforeAll();
            var brandTestHelper    = _container.Resolve <BrandTestHelper>();
            var transferTestHelper = _container.Resolve <TransferFundTestHelper>();
            var paymentTestHelper  = _container.Resolve <PaymentTestHelper>();
            var playerTestHelper   = _container.Resolve <PlayerTestHelper>();
            var playerQueries      = _container.Resolve <PlayerQueries>();
            var playerCommands     = _container.Resolve <PlayerCommands>();
            var brandQueries       = _container.Resolve <BrandQueries>();

            //create vip level for a brand
            //TODO: Igor  -  needs to generate new vip level for a brand here
            //change default VIP Level for Brand
            //TODO: Igor  -  change default VIP Level for Brand 138

            _brand = brandQueries.GetBrand(DefaultBrandId);

            var vipLevel = _brand.DefaultVipLevel; //needs to be changed for multiple times run

            //create fund-in transfer settings for the brand and vip level
            var transferSettings = new SaveTransferSettingsCommand
            {
                MinAmountPerTransaction = MinAmountPerTransaction,
                MaxAmountPerTransaction = MaxAmountPerTransaction
            };

            var walletTemplateId = _brand.WalletTemplates.Single(x => x.IsMain).Id;

            transferTestHelper.CreateTransferSettings(_brand, transferSettings, walletTemplateId, TransferFundType.FundIn, "CAD", vipLevel.Id);

            //create a player
            _player = playerTestHelper.CreatePlayerForMemberWebsite(currencyCode: "CAD", password: "******");

            //deposit money to the player's main balance
            paymentTestHelper.MakeDeposit(_player.Username, 200);
            var playerId = playerQueries.GetPlayerByUsername(_player.Username).Id;

            //change the vip level of the player
            playerCommands.ChangeVipLevel(playerId, vipLevel.Id, "changed vip level");
        }
Exemplo n.º 13
0
        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();
        }
Exemplo n.º 14
0
        public static RegistrationDataForMemberWebsite CreateValidPlayerDataForMemberWebsite(
            string currencyCode = null,
            string cultureCode  = null,
            string countryCode  = null,
            string password     = null)
        {
            var username = "******" + GetRandomStringWithSpecialSymbols(9);
            var result   = new RegistrationDataForMemberWebsite
            {
                Username          = username,
                Password          = password ?? GetRandomString(),
                Title             = GetRandomTitle(),
                FirstName         = "First-name" + GetRandomStringWithSpecialSymbols(36),
                LastName          = "Last-name" + GetRandomStringWithSpecialSymbols(11),
                Gender            = GetRandomGender(),
                Email             = GetRandomEmail(),
                PhoneNumber       = GetRandomPhoneNumber().Replace("-", string.Empty),
                Day               = 10,
                Month             = 12,
                Year              = GetRandomNumber(1990, 1950),
                Country           = countryCode ?? GetRandomCountryCode(),
                Currency          = currencyCode ?? GetRandomCurrencyCode(),
                Address           = GetRandomString(50),
                AddressLine2      = "address Line 2",
                AddressLine3      = "address Line 3",
                AddressLine4      = "address Line 4",
                City              = "Singapore",
                PostalCode        = GetRandomString(10),
                Province          = GetRandomString(3),
                ContactPreference = GetRandomContactMethod(),
                SecurityQuestion  = GetRandomSecurityQuestion(),
                SecurityAnswer    = "SecurityAnswer" + GetRandomString()
            };

            return(result);
        }
 public override void BeforeAll()
 {
     base.BeforeAll();
     _data     = _container.Resolve <PlayerTestHelper>().CreatePlayerForMemberWebsite(currencyCode: "CAD");
     _username = _data.Username;
 }
Exemplo n.º 16
0
        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());
        }