예제 #1
0
        public void Can_create_bank_account_and_bind_to_player_record()
        {
            var playerData            = TestDataGenerator.CreateValidPlayerDataForAdminWebsite(DefaultLicensee, DefaultBrand);
            var playerBankAccountData = new PlayerBankAccountData
            {
                BankName          = "Bank of Canada",
                Province          = TestDataGenerator.GetRandomString(),
                City              = TestDataGenerator.GetRandomString(),
                Branch            = TestDataGenerator.GetRandomString(),
                SwiftCode         = TestDataGenerator.GetRandomString(),
                Address           = TestDataGenerator.GetRandomString(),
                BankAccountName   = TestDataGenerator.GetRandomString(),
                BankAccountNumber = TestDataGenerator.GetRandomString(7, "0123456789")
            };

            // create a player
            var newPlayerForm = _playerManagerPage.OpenNewPlayerForm();
            var submittedForm = newPlayerForm.Register(playerData);

            Assert.AreEqual("The player has been successfully created", submittedForm.ConfirmationMessage);
            submittedForm.CloseTab("View Player");

            //create bank account
            var _playerInfoPage = _playerManagerPage.OpenPlayerInfoPage(playerData.LoginName);

            _playerInfoPage.OpenBankAccountsSection();
            var _newBankAccountForm       = _playerInfoPage.OpenNewBankAccountTab();
            var _submittedBankAccountForm = _newBankAccountForm.Submit(playerBankAccountData);

            Assert.AreEqual("The bank account has been successfully created", _submittedBankAccountForm.ConfirmationMessage);
            _playerManagerPage.CloseTab("View Bank Account");
            _playerManagerPage.CloseTab("Player Info");

            //verify bank account
            var playerBankAccountVerifyPage = _playerManagerPage.Menu.ClickPlayerBankAccountVerifyMenuItem();

            playerBankAccountVerifyPage.Verify(playerBankAccountData.BankAccountName);

            //open withdraw request form
            _playerManagerPage = _dashboardPage.Menu.ClickPlayerManagerMenuItem();
            _playerManagerPage.SelectPlayer(playerData.LoginName);
            var withdrawRequestForm = _playerManagerPage.OpenOfflineWithdrawRequestForm(playerData.LoginName);

            Assert.AreEqual(playerBankAccountData.BankName, withdrawRequestForm.BankNameValue);
            Assert.AreEqual(playerBankAccountData.Province, withdrawRequestForm.ProvinceValue);
            Assert.AreEqual(playerBankAccountData.City, withdrawRequestForm.CityValue);
            Assert.AreEqual(playerBankAccountData.BankAccountName, withdrawRequestForm.BankAccountNameValue);
            Assert.AreEqual(playerBankAccountData.BankAccountNumber, withdrawRequestForm.BankAccountNumberValue);
        }
        public SubmittedPlayerBankAccountForm Submit(PlayerBankAccountData data)
        {
            var bankName = _driver.FindElementWait(By.XPath("//*[contains(@id,'player-bank-account-bank')]"));

            new SelectElement(bankName).SelectByText(data.BankName);

            var wait          = new WebDriverWait(_driver, TimeSpan.FromSeconds(45));
            var provinceField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-province')]"));

            wait.Until(d => provinceField.Displayed && provinceField.Enabled);

            provinceField.SendKeys(data.Province);

            var cityField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-city')]"));

            cityField.SendKeys(data.City);

            var branchField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-branch')]"));

            branchField.SendKeys(data.Branch);

            var swiftField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-swift-code')]"));

            swiftField.SendKeys(data.SwiftCode);

            var addressField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-address')]"));

            addressField.SendKeys(data.Address);

            var bankAccountNameField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-account-name')]"));

            bankAccountNameField.SendKeys(data.BankAccountName);

            var bankAccountNumberField = _driver.FindElementWait(By.XPath("//input[contains(@id, 'player-bank-account-account-number')]"));

            bankAccountNumberField.SendKeys(data.BankAccountNumber);

            var saveButton = _driver.FindElementWait(By.XPath("//button[text()='Save']"));

            saveButton.Click();

            var form = new SubmittedPlayerBankAccountForm(_driver);

            form.Initialize();

            return(form);
        }
        protected ViewOfflineWithdrawRequest SubmitOfflineWithdrawalRequest(PlayerRegistrationDataForAdminWebsite playerData, PlayerBankAccountData playerBankAccountData, OfflineWithdrawRequestData withdrawalData)
        {
            var dashboardPage     = _driver.LoginToAdminWebsiteAsSuperAdmin();
            var playerManagerPage = dashboardPage.Menu.ClickPlayerManagerMenuItem();

            playerManagerPage.SelectPlayer(playerData.LoginName);
            var playerInfoPage = playerManagerPage.OpenPlayerInfoPage();

            playerInfoPage.OpenBankAccountsSection();
            var playerBankAccountForm = playerInfoPage.OpenNewBankAccountTab();

            playerBankAccountForm.Submit(playerBankAccountData);
            playerManagerPage.CloseTab("View Bank Account");
            playerManagerPage.CloseTab("Player Info");
            var playerBankAccountVerifyPage = playerManagerPage.Menu.ClickPlayerBankAccountVerifyMenuItem();

            playerBankAccountVerifyPage.Verify(playerBankAccountData.BankAccountName);
            dashboardPage     = _driver.LoginToAdminWebsiteAsSuperAdmin();
            playerManagerPage = dashboardPage.Menu.ClickPlayerManagerMenuItem();
            playerManagerPage.SelectPlayer(playerData.LoginName);
            var withdrawRequestForm = playerManagerPage.OpenOfflineWithdrawRequestForm(playerData.LoginName);

            return(withdrawRequestForm.SetOfflineWithdrawRequest(withdrawalData));
        }