public void TC41_WalletsDepositFiatcurrency() { try { string ticketStatus; string AcceptedticketStatus; string amount; string availableBalanceAfterDeposit; string availableBalanceAfterAccept; string totalBalance; string pendingBalance; string withdrawSuccessMsg; string pendingBalanceAfterDeposit; string expectedPendingBalanceAfterDeposit; string expectedPendingBalanceAfterAccept; string ticketID; string expectedAvailableBalanceAfterAccept; currencyName = TestData.GetData("USDCurrency"); comment = TestData.GetData("TC41_Comment"); amount = TestData.GetData("USDAmount"); fullName = TestData.GetData("FullName"); language = TestData.GetData("TC40_Language"); bankAddress = TestData.GetData("TC40_BankAddress"); bankAccountNumber = TestData.GetData("TC40_BankAccountNumber"); bankName = TestData.GetData("TC40_BankName"); swiftCode = TestData.GetData("TC40_SwiftCode"); withdrawStatus = TestData.GetData("WithdrawStatus"); ticketStatus = TestData.GetData("TicketStatus"); AcceptedticketStatus = TestData.GetData("AcceptedTicketStatus"); TestProgressLogger.StartTest(); UserFunctions userFunctions = new UserFunctions(TestProgressLogger); userFunctions.LogIn(TestProgressLogger, Const.USER15); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER15)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); WalletPage walletpage = new WalletPage(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.StoreCurrentBalance, Const.USER15)); walletpage.ClickInstrumentDetails(driver, currencyName); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); pendingBalance = walletpage.PendingDepositDetailsPage; totalBalance = walletpage.TotalBalanceDetailsPage; walletpage.ClickDepositButtonOnDetails(driver); walletpage.SendUSDDeposit(driver, fullName, amount, comment); walletpage.VerifyUSDDepositOnConfirmationModal(driver, fullName, amount, comment); walletpage.ClickOnConfirmUSDModalButton(driver); TestProgressLogger.LogCheckPoint(LogMessage.ConfirmationModalVerified); withdrawSuccessMsg = UserCommonFunctions.GetTextOfMessage(driver, TestProgressLogger); Assert.Equal(LogMessage.USDDepositSuccessMsg, withdrawSuccessMsg); ticketID = walletpage.GetDepositUSDTicketID(driver); GenericUtils.RefreshPage(driver); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); pendingBalanceAfterDeposit = walletpage.PendingDepositDetailsPage; availableBalanceAfterDeposit = walletpage.AvailableBalanceDetailsPage; expectedPendingBalanceAfterDeposit = GenericUtils.GetSumFromStringAfterAddition(pendingBalance, amount); Assert.Equal(expectedPendingBalanceAfterDeposit, GenericUtils.RemoveCommaFromString(pendingBalanceAfterDeposit)); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER15)); AdminFunctions adminfunctions = new AdminFunctions(TestProgressLogger); adminfunctions.AdminLogIn(TestProgressLogger, Const.ADMIN1); AdminCommonFunctions admincommonfunctions = new AdminCommonFunctions(TestProgressLogger); admincommonfunctions.SelectTicketsMenu(); admincommonfunctions.NavigateToDepositTicketsTab(); admincommonfunctions.VerifyStatus(driver, ticketID, ticketStatus); TestProgressLogger.LogCheckPoint(LogMessage.VerifiedTicketStatusAsNew); admincommonfunctions.DoubleClickOnCreatedDepositTicket(driver, ticketID); admincommonfunctions.ClickOnAcceptButtonFromDepositsTicketModal(); admincommonfunctions.VerifyStatus(driver, ticketID, AcceptedticketStatus); TestProgressLogger.LogCheckPoint(LogMessage.VerifiedTicketStatusAsAccepted); admincommonfunctions.UserMenuBtn(); adminfunctions.AdminLogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.AdminUserLogoutSuccessfully, Const.ADMIN1)); userFunctions.LogIn(TestProgressLogger, Const.USER15); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER15)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); walletpage.ClickInstrumentDetails(driver, currencyName); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); pendingBalance = walletpage.PendingDepositDetailsPage; availableBalanceAfterAccept = walletpage.AvailableBalanceDetailsPage; expectedPendingBalanceAfterAccept = GenericUtils.GetDifferenceFromStringAfterSubstraction(pendingBalanceAfterDeposit, amount); Assert.Equal(expectedPendingBalanceAfterAccept, GenericUtils.RemoveCommaFromString(pendingBalance)); TestProgressLogger.LogCheckPoint(LogMessage.PendingBalanceVerified); expectedAvailableBalanceAfterAccept = GenericUtils.GetSumFromStringAfterAddition(availableBalanceAfterDeposit, amount); Assert.Equal(expectedAvailableBalanceAfterAccept, GenericUtils.RemoveCommaFromString(availableBalanceAfterAccept)); TestProgressLogger.LogCheckPoint(LogMessage.AvailableBalanceVerified); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER15)); TestProgressLogger.EndTest(); TestProgressLogger.LogCheckPoint(LogMessage.WalletsDepositFiatcurrencyTestPassed); } catch (Exception e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.Error(LogMessage.WalletsDepositFiatcurrencyTestFailed, e); throw e; } }
public void TC36_SendExternalWallets() { try { string emailAddress; string gmailPassword; string successMsg; string currentBalanceOfUser3; string holdBalance; string availableBalance; string btcAmount; string minerFees; string btcTotalaAmount; string withdrawSuccessMsg; string increasedHoldAmount; string incresedHoldBalance; string TotalBalance; string reducedAvailableBalance; string hold; string expectedReducedAvailableBalance; string statusID; string mailSubject; string withdrawSuccess; string acceptedticketStatus; string totalBalance; string expectedReducedHoldBalance; string expectedReducedTotalBalance; string linkUrl; string ticketStatusNew; instrument = TestData.GetData("Instrument"); currencyName = TestData.GetData("CurrencyName"); comment = TestData.GetData("Comment"); amountOfBtcToSend = TestData.GetData("AmountOfBtcToSend"); withdrawStatus = TestData.GetData("WithdrawStatus"); emailAddress = TestData.GetData("User_14EmailAddress"); gmailPassword = TestData.GetData("GmailUser_Test1Password"); mailSubject = TestData.GetData("GmailMailSubject_ConfirmYourWithdraw"); acceptedticketStatus = TestData.GetData("AcceptedTicketStatus"); ticketStatusNew = TestData.GetData("TicketStatus"); TestProgressLogger.StartTest(); UserFunctions userFunctions = new UserFunctions(TestProgressLogger); userFunctions.LogIn(TestProgressLogger, Const.USER12); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER12)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); WalletPage walletpage = new WalletPage(); walletpage.ClickOnInstrumentReceiveButton(driver, currencyName); walletpage.CopyAddressToReceiveBTC(driver); successMsg = UserCommonFunctions.GetTextOfMessage(driver, TestProgressLogger); Assert.Equal(Const.CopyAddressSuccessMsg, successMsg); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.RecievedAddressCopied, Const.USER12)); walletpage.CloseSendOrReciveSection(driver); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER12)); userFunctions.LogIn(TestProgressLogger, Const.USER14); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER14)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); currentBalanceOfUser3 = walletpage.GetInstrumentCurrentBalance(driver, currencyName); walletpage.ClickInstrumentDetails(driver, currencyName); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); holdBalance = walletpage.HoldBalanceDetailsPage; availableBalance = walletpage.AvailableBalanceDetailsPage; walletpage.ClickSendButtonOnDetailsPage(driver); walletpage.SendBitCoinExternalWallet(driver, comment, amountOfBtcToSend); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.SendBitCoinSuccessfully, amountOfBtcToSend)); btcAmount = walletpage.GetBtcAmountOnConfirmation(driver); minerFees = walletpage.GetMinerFeesOnConfirmation(driver); btcTotalaAmount = GenericUtils.GetSumFromStringAfterAddition(btcAmount, minerFees); walletpage.ClickConfirmButton(driver); withdrawSuccessMsg = UserCommonFunctions.GetTextOfMessage(driver, TestProgressLogger); Assert.Equal(Const.WithdrawSuccessMsg, withdrawSuccessMsg); increasedHoldAmount = GenericUtils.GetSumFromStringAfterAddition(holdBalance, btcTotalaAmount); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); incresedHoldBalance = walletpage.HoldBalanceDetailsPage; TotalBalance = walletpage.TotalBalanceDetailsPage; reducedAvailableBalance = walletpage.AvailableBalanceDetailsPage; hold = GenericUtils.ConvertToDoubleFormat(GenericUtils.ConvertStringToDouble(increasedHoldAmount)); Assert.Equal(hold, incresedHoldBalance); TestProgressLogger.LogCheckPoint(LogMessage.HoldAmountIncreasedSuccessfully); expectedReducedAvailableBalance = GenericUtils.GetDifferenceFromStringAfterSubstraction(availableBalance, btcTotalaAmount); Assert.Equal(expectedReducedAvailableBalance, GenericUtils.RemoveCommaFromString(reducedAvailableBalance)); TestProgressLogger.LogCheckPoint(LogMessage.AvailableAmountReducedSuccessfully); statusID = walletpage.GetStatusID(driver); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER14)); AdminFunctions adminfunctions = new AdminFunctions(TestProgressLogger); adminfunctions.AdminLogIn(TestProgressLogger, Const.ADMIN1); AdminCommonFunctions admincommonfunctions = new AdminCommonFunctions(TestProgressLogger); admincommonfunctions.SelectTicketsMenu(); admincommonfunctions.VerifyStatus(driver, statusID, withdrawStatus); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.CreatedTicketStatusVerified, statusID)); admincommonfunctions.UserMenuBtn(); adminfunctions.AdminLogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.AdminUserLogoutSuccessfully, Const.ADMIN1)); GmailCommonFunctions gmailobj = new GmailCommonFunctions(); linkUrl = gmailobj.Gmail(driver, emailAddress, gmailPassword, mailSubject); driver.Navigate().GoToUrl(linkUrl); withdrawSuccess = walletpage.GetWithdrawConfirmedMsg(driver); Assert.Equal(LogMessage.WithdrawSuccessfullyConfirmMsg, withdrawSuccess); walletpage.ClickOnGoToExchange(driver); TestProgressLogger.LogCheckPoint(LogMessage.WithdrawConfirmedMassage); adminfunctions.AdminLogIn(TestProgressLogger, Const.ADMIN1); admincommonfunctions = new AdminCommonFunctions(TestProgressLogger); admincommonfunctions.SelectTicketsMenu(); admincommonfunctions.VerifyStatus(driver, statusID, ticketStatusNew); admincommonfunctions.DoubleClickOnCreatedDepositTicket(driver, statusID); admincommonfunctions.ClickOnAcceptButtonFromDepositsTicketModal(); admincommonfunctions.VerifyStatus(driver, statusID, acceptedticketStatus); TestProgressLogger.LogCheckPoint(LogMessage.VerifiedTicketStatus); admincommonfunctions.UserMenuBtn(); adminfunctions.AdminLogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.AdminUserLogoutSuccessfully, Const.ADMIN1)); userFunctions.LogIn(TestProgressLogger, Const.USER14); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER14)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); currentBalanceOfUser3 = walletpage.GetInstrumentCurrentBalance(driver, currencyName); walletpage.ClickInstrumentDetails(driver, currencyName); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); holdBalance = walletpage.HoldBalanceDetailsPage; totalBalance = walletpage.TotalBalanceDetailsPage; expectedReducedHoldBalance = GenericUtils.GetDifferenceFromStringAfterSubstraction(incresedHoldBalance, btcTotalaAmount); Assert.Equal(expectedReducedHoldBalance, GenericUtils.RemoveCommaFromString(holdBalance)); TestProgressLogger.LogCheckPoint(LogMessage.HoldBalanceVerified); expectedReducedTotalBalance = GenericUtils.GetDifferenceFromStringAfterSubstraction(TotalBalance, btcTotalaAmount); Assert.Equal(expectedReducedTotalBalance, GenericUtils.RemoveCommaFromString(totalBalance)); TestProgressLogger.LogCheckPoint(LogMessage.TotalBalanceVerified); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER14)); TestProgressLogger.EndTest(); } catch (Exception e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.Error(LogMessage.SendExternalWalletsTestFailed, e); throw e; } }
public void TC40_WalletsWithdrawFiatcurrency() { try { string emailAddress; string gmailPassword; string amounttowithdraw; string currentUSDBalance; string fee; string remainingBalance; string amountToWithdrawAndFees; string expectedRemainingBalance; string holdBalance; string totalBalance; string availableBalance; string withdrawSuccessMsg; string holdBalanceAfterDeposit; string availableBalanceAfterDeposit; string expectedAvailableBalanceAfterDeposit; string expectedHoldBalanceAfterDeposit; string statusID; string linkUrl; string ticketStatus; string withdrawSuccess; string mailSubject; string totalBalanceAfterDeposit; string expectedTotalBalanceAfterDeposit; currencyName = TestData.GetData("USDCurrency"); comment = TestData.GetData("TC40_Comment"); amountOfUSDToWithdraw = TestData.GetData("USDAmount"); fullName = TestData.GetData("FullName"); language = TestData.GetData("TC40_Language"); bankAddress = TestData.GetData("TC40_BankAddress"); bankAccountNumber = TestData.GetData("TC40_BankAccountNumber"); bankName = TestData.GetData("TC40_BankName"); swiftCode = TestData.GetData("TC40_SwiftCode"); withdrawStatus = TestData.GetData("WithdrawStatus"); emailAddress = TestData.GetData("User_14EmailAddress"); gmailPassword = TestData.GetData("GmailUser_Test1Password"); mailSubject = TestData.GetData("GmailMailSubject_ConfirmYourWithdraw"); ticketStatus = TestData.GetData("FullyProcessedTicketStatus"); TestProgressLogger.StartTest(); UserFunctions userFunctions = new UserFunctions(TestProgressLogger); userFunctions.LogIn(TestProgressLogger, Const.USER15); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER15)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); WalletPage walletpage = new WalletPage(); walletpage.ClickInstrumentDetails(driver, currencyName); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); holdBalance = walletpage.HoldBalanceDetailsPage; availableBalance = walletpage.AvailableBalanceDetailsPage; walletpage.ClickWithdrawButtonOnDetails(driver); walletpage.WithdrawUSD(driver, amountOfUSDToWithdraw, fullName, language, comment, bankAddress, bankAccountNumber, bankName, swiftCode); amounttowithdraw = walletpage.GetAmountToWithdraw(driver); currentUSDBalance = walletpage.GetCurrentUSDBalance(driver); fee = walletpage.GetFee(driver); remainingBalance = walletpage.GetRemainingBalance(driver); amountToWithdrawAndFees = GenericUtils.GetSumFromStringAfterAddition(amounttowithdraw, fee); expectedRemainingBalance = GenericUtils.GetDifferenceFromStringAfterSubstraction(currentUSDBalance, amountToWithdrawAndFees); Assert.Equal(expectedRemainingBalance, GenericUtils.RemoveCommaFromString(remainingBalance)); TestProgressLogger.LogCheckPoint(LogMessage.RemainingBalanceVerifiedOnBalanceSection); walletpage.ClickOnWithdrawUSDButton(driver); walletpage.VerifyWithdrawUSDOnConfirmationModal(driver, amountOfUSDToWithdraw, fullName, language, comment, bankAddress, bankAccountNumber, bankName, swiftCode, fee); walletpage.ClickOnConfirmUSDModalButton(driver); TestProgressLogger.LogCheckPoint(LogMessage.ConfirmationModalVerified); withdrawSuccessMsg = UserCommonFunctions.GetTextOfMessage(driver, TestProgressLogger); Assert.Equal(LogMessage.USDWithdrawSuccessMsg, withdrawSuccessMsg); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); holdBalanceAfterDeposit = walletpage.HoldBalanceDetailsPage; availableBalanceAfterDeposit = walletpage.AvailableBalanceDetailsPage; totalBalanceAfterDeposit = walletpage.TotalBalanceDetailsPage; expectedAvailableBalanceAfterDeposit = GenericUtils.GetDifferenceFromStringAfterSubstraction(availableBalance, amountToWithdrawAndFees); Assert.Equal(expectedAvailableBalanceAfterDeposit, GenericUtils.RemoveCommaFromString(availableBalanceAfterDeposit)); TestProgressLogger.LogCheckPoint(LogMessage.RemainingBalanceVerified); expectedHoldBalanceAfterDeposit = GenericUtils.GetSumFromStringAfterAddition(holdBalance, amountToWithdrawAndFees); Assert.Equal(expectedHoldBalanceAfterDeposit, holdBalanceAfterDeposit); TestProgressLogger.LogCheckPoint(LogMessage.HoldBalanceVerified); statusID = walletpage.GetStatusID(driver); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER15)); AdminFunctions adminfunctions = new AdminFunctions(TestProgressLogger); adminfunctions.AdminLogIn(TestProgressLogger, Const.ADMIN1); AdminCommonFunctions admincommonfunctions = new AdminCommonFunctions(TestProgressLogger); admincommonfunctions.SelectTicketsMenu(); admincommonfunctions.VerifyStatus(driver, statusID, withdrawStatus); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.CreatedTicketStatusVerified, statusID)); admincommonfunctions.UserMenuBtn(); adminfunctions.AdminLogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.AdminUserLogoutSuccessfully, Const.ADMIN1)); GmailCommonFunctions gmailobj = new GmailCommonFunctions(); linkUrl = gmailobj.Gmail(driver, emailAddress, gmailPassword, mailSubject); driver.Navigate().GoToUrl(linkUrl); withdrawSuccess = walletpage.GetWithdrawConfirmedMsg(driver); Assert.Equal(LogMessage.WithdrawSuccessfullyConfirmMsg, withdrawSuccess); walletpage.ClickOnGoToExchange(driver); TestProgressLogger.LogCheckPoint(LogMessage.WithdrawConfirmedMassage); adminfunctions.AdminLogIn(TestProgressLogger, Const.ADMIN1); admincommonfunctions = new AdminCommonFunctions(TestProgressLogger); admincommonfunctions.SelectTicketsMenu(); admincommonfunctions.VerifyStatus(driver, statusID, ticketStatus); TestProgressLogger.LogCheckPoint(LogMessage.VerifiedTicketStatus); admincommonfunctions.UserMenuBtn(); adminfunctions.AdminLogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.AdminUserLogoutSuccessfully, Const.ADMIN1)); userFunctions.LogIn(TestProgressLogger, Const.USER15); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedInSuccessfully, Const.USER15)); UserCommonFunctions.DashBoardMenuButton(driver); UserCommonFunctions.NavigateToWallets(driver); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.NavigateWalletsPage)); walletpage.ClickInstrumentDetails(driver, currencyName); walletpage.GetHoldAvailablePendingDepositTotalBalanceOnDetailsPage(driver); holdBalance = walletpage.HoldBalanceDetailsPage; totalBalance = walletpage.TotalBalanceDetailsPage; expectedTotalBalanceAfterDeposit = GenericUtils.GetDifferenceFromStringAfterSubstraction(totalBalanceAfterDeposit, amountToWithdrawAndFees); Assert.Equal(expectedTotalBalanceAfterDeposit, GenericUtils.RemoveCommaFromString(totalBalance)); TestProgressLogger.LogCheckPoint(LogMessage.TotalBalanceVerified); expectedHoldBalanceAfterDeposit = GenericUtils.GetDifferenceFromStringAfterSubstraction(holdBalanceAfterDeposit, amountToWithdrawAndFees); Assert.Equal(expectedHoldBalanceAfterDeposit, holdBalance); TestProgressLogger.LogCheckPoint(LogMessage.HoldBalanceVerified); userFunctions.LogOut(); TestProgressLogger.LogCheckPoint(String.Format(LogMessage.UserLoggedOutSuccessfully, Const.USER15)); TestProgressLogger.EndTest(); TestProgressLogger.LogCheckPoint(LogMessage.WalletsWithdrawFiatcurrencyTestPassed); } catch (Exception e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.Error(LogMessage.WalletsWithdrawFiatcurrencyTestFailed, e); throw e; } }
[Fact] //Admin_4 public void ManualWithdraw() { try { string accountId; string USDCurrency; string holdAmountField; string pendingWithdrawsField; string holdAmountBeforeWithdraw; string pendingWithdrawsAmtBeforeWithdraw; string expectedIncreasedPendingAmount; string pendingWithdrawsAmtAfterWithdraw; string amount; string fullName; string language; string comment; string bankAddress; string bankAccountNumber; string bankAccountName; string swiftCode; string toastMessage; string recentTicketID; string ticketIDValue; string dailyWithdrawAmountBeforeAccept; string dailyWithdrawAmountAfterAccept; string monthlyWithdrawAmountBeforeAccept; string monthlyWithdrawAmountAfterAccept; string dailyWithdrawsField; string monthlyWithdrawsField; string pendingWithdrawsAmtAfterAccept; accountId = TestData.GetData("TCAdmin4_UserAccountID"); USDCurrency = TestData.GetData("USDCurrency"); holdAmountField = TestData.GetData("TCAdmin4_HoldAmountField"); pendingWithdrawsField = TestData.GetData("TCAdmin4_PendingWithdrawsField"); dailyWithdrawsField = TestData.GetData("TCAdmin4_DailyWithdrawsField"); monthlyWithdrawsField = TestData.GetData("TCAdmin4_MonthlyWithdrawsField"); amount = TestData.GetData("TCAdmin4_Amount"); fullName = TestData.GetData("TCAdmin4_FullName"); language = TestData.GetData("TCAdmin4_Language"); comment = TestData.GetData("TCAdmin4_Comment"); bankAddress = TestData.GetData("TCAdmin4_BankAddress"); bankAccountNumber = TestData.GetData("TCAdmin4_BankAccountNumber"); bankAccountName = TestData.GetData("TCAdmin4_BankAccountName"); swiftCode = TestData.GetData("TCAdmin4_SwiftCode"); ticketIDValue = TestData.GetData("TCAdmin4_TicketIDValue"); AdminFunctions adminfunctions = new AdminFunctions(TestProgressLogger); AdminCommonFunctions admincommonfunctions = new AdminCommonFunctions(TestProgressLogger); AdminAccountsPage adminAccountPage = new AdminAccountsPage(TestProgressLogger); AdminTicketsPage admintickets = new AdminTicketsPage(); // login in admin adminfunctions.AdminLogIn(TestProgressLogger, Const.ADMIN1); // Navigate on Accounts page. admincommonfunctions.SelectAccountsMenu(); admincommonfunctions.SelectAccountsTab(); TestProgressLogger.LogCheckPoint(LogMessage.NavigateAccountPage); // Click on ViewAll and search by accountid and double click. adminAccountPage.ClickOnViewAll(driver); adminAccountPage.SearchByAccountID(driver, accountId); adminAccountPage.DoubleClickOnAccountName(driver, accountId); TestProgressLogger.LogCheckPoint(string.Format(LogMessage.NavigateAccountPage, accountId)); // Get balances before manual withdraw. Dictionary <string, string> balancesData = adminAccountPage.GetBalances(driver, USDCurrency); holdAmountBeforeWithdraw = balancesData.GetValueOrDefault(holdAmountField); pendingWithdrawsAmtBeforeWithdraw = balancesData.GetValueOrDefault(pendingWithdrawsField); // Click on manual Withdraw button and enter details in modal. adminAccountPage.ClickOnManualWithdrawButton(driver); adminAccountPage.ManualWithdrawUSD(driver, USDCurrency, amount, fullName, language, comment, bankAddress, bankAccountNumber, bankAccountName, swiftCode); TestProgressLogger.LogCheckPoint(string.Format(LogMessage.ManualWithdrawUSD, amount)); expectedIncreasedPendingAmount = GenericUtils.AddTwoValue(pendingWithdrawsAmtBeforeWithdraw, amount); // Verify withdraw success msg. toastMessage = UserCommonFunctions.GetTextOfToastMessageInAdmin(driver, TestProgressLogger); Assert.Equal(Const.TCA4_WithdrawTicketSuccessfullyMSG, toastMessage); TestProgressLogger.LogCheckPoint(LogMessage.VerifyToastMSG); adminAccountPage.ClickOnRefreshInUserAccountSection(driver); // Get balances after manual withdraw. Dictionary <string, string> balancesDataAfter = adminAccountPage.GetBalances(driver, USDCurrency); pendingWithdrawsAmtAfterWithdraw = balancesDataAfter.GetValueOrDefault(pendingWithdrawsField); dailyWithdrawAmountBeforeAccept = balancesDataAfter.GetValueOrDefault(dailyWithdrawsField); monthlyWithdrawAmountBeforeAccept = balancesDataAfter.GetValueOrDefault(monthlyWithdrawsField); // Verify increased pending amount after manual withdraw. Assert.Equal(expectedIncreasedPendingAmount, pendingWithdrawsAmtAfterWithdraw); TestProgressLogger.LogCheckPoint(LogMessage.VerifyIncreasedPendingWithdrawAmt); recentTicketID = adminAccountPage.GetRecentTicketID(driver, USDCurrency, amount); // Navigate on Ticket-> Withdraw page and click on refresh button. admincommonfunctions.SelectTicketsMenu(); admincommonfunctions.NavigateToWithdrawTicketsTab(); admincommonfunctions.ClickOnRefreshButtonOnTicketsPage(); TestProgressLogger.LogCheckPoint(LogMessage.NavigateTicketsPage); //Verify created ticket in tickets-> withdraw page. Dictionary <string, string> withdrawTicketsFields = admintickets.GetWithdrawTicketsFieldsByTicketID(driver, recentTicketID); Assert.Equal(recentTicketID, withdrawTicketsFields.GetValueOrDefault(ticketIDValue)); admincommonfunctions.ClickOnTicketFromWithdrawTicketList(withdrawTicketsFields.GetValueOrDefault(ticketIDValue)); admincommonfunctions.ClickOnAcceptButtonFromDepositsTicketModal(); TestProgressLogger.LogCheckPoint(LogMessage.CreatedTicketsVerified); // Navigate on Accounts page. admincommonfunctions.SelectAccountsMenu(); adminAccountPage.ClickOnRefreshInUserAccountSection(driver); TestProgressLogger.LogCheckPoint(LogMessage.NavigateAccountPage); // Get balances after accept ticket. Dictionary <string, string> balancesDataAfterAccept = adminAccountPage.GetBalances(driver, USDCurrency); pendingWithdrawsAmtAfterAccept = balancesDataAfterAccept.GetValueOrDefault(pendingWithdrawsField); dailyWithdrawAmountAfterAccept = balancesDataAfterAccept.GetValueOrDefault(dailyWithdrawsField); monthlyWithdrawAmountAfterAccept = balancesDataAfterAccept.GetValueOrDefault(monthlyWithdrawsField); // Verify pending withdraws, daily withdraw and monthly withdraw amount after accept ticket. Assert.Equal(GenericUtils.SubtractTwoValue(pendingWithdrawsAmtAfterWithdraw, amount), pendingWithdrawsAmtAfterAccept); Assert.Equal(GenericUtils.AddTwoValue(dailyWithdrawAmountBeforeAccept, amount), dailyWithdrawAmountAfterAccept); Assert.Equal(GenericUtils.AddTwoValue(monthlyWithdrawAmountBeforeAccept, amount), monthlyWithdrawAmountAfterAccept); TestProgressLogger.LogCheckPoint(LogMessage.VerifiedDailyAndMonthlyWithdraw); // Logout from admin. admincommonfunctions.UserMenuBtn(); adminfunctions.AdminLogOut(); } catch (NoSuchElementException ex) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.LogCheckPoint(ex.Message + ex.StackTrace); TestProgressLogger.LogError(LogMessage.ManualWithdrawTestFailed, ex); throw; } catch (Exception e) { TestProgressLogger.TakeScreenshot(); TestProgressLogger.LogCheckPoint(e.Message + e.StackTrace); TestProgressLogger.LogError(LogMessage.ManualWithdrawTestFailed, e); throw e; } finally { TestProgressLogger.EndTest(); } }