private void LaunchSetPasswordFlow() { var setPasswordPage = new SetPasswordPage(); var app = new App.App(new AppOptions { IosExtension = true }); ThemeManager.SetTheme(app.Resources); ThemeManager.ApplyResourcesToPage(setPasswordPage); if (setPasswordPage.BindingContext is SetPasswordPageViewModel vm) { vm.UpdateTempPasswordAction = () => DismissViewController(false, () => LaunchUpdateTempPasswordFlow()); vm.SetPasswordSuccessAction = () => DismissLockAndContinue(); vm.CloseAction = () => DismissViewController(false, () => LaunchHomePage()); } var navigationPage = new NavigationPage(setPasswordPage); var setPasswordController = navigationPage.CreateViewController(); setPasswordController.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; PresentViewController(setPasswordController, true, null); }
public void Postman02_BillzyUserCreation_IssueInvoice() { //New user creation HomePage HomePg = new HomePage(WebDriver); try { Random rand = new Random(); DateTime dt = new DateTime(); string dtString = dt.ToString("MM/dd/yyyy HH:mm:ss"); int randnumber1 = rand.Next(); string xmlMessage = @"<BillzyBusiness> <businessName>madcowtesting10+anogstbiller02</businessName> <qvalentSubMerchantName>madcowtesting10+anogstbiller02</qvalentSubMerchantName> <businessPhone>12345678</businessPhone> <businessAddressStreet>370 Queen St</businessAddressStreet> <businessAddressSuburb>Brisbane</businessAddressSuburb> <businessAddressState>QLD</businessAddressState> <businessAddressPostcode>4000</businessAddressPostcode> <businessEmail>[email protected]</businessEmail> <abn>10987654321</abn> <showDebitAccounts>true</showDebitAccounts> <gstRegistered>false</gstRegistered> <contact> <name>madcowtesting10+anogstbiller02</name> <email>[email protected]</email> <phone>0405028000</phone> <loginName>[email protected]</loginName> </contact> <bankAccount> <name>receiveAccount</name> <bsb>484799</bsb> <accountNumber>65432111</accountNumber> </bankAccount> <createdByUser> <username>[email protected]</username> <password>Cognito1</password> </createdByUser> <referrer> <referrerId>1</referrerId> <name>[email protected]</name> </referrer> </BillzyBusiness>"; string numb = randnumber1.ToString(); var replacement = xmlMessage.Replace("anogstbiller02", numb); Console.WriteLine($"The source string is <{xmlMessage}>"); Console.WriteLine($"The updated string is <{replacement}>"); string url = "https://api.demo.billzy.com/accounts/v1"; byte[] bytes = Encoding.UTF8.GetBytes(replacement); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "text/xml"; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } using (HttpWebResponse response = (HttpWebResponse) request.GetResponse()) { //###Login to biller account WebDriver.Manage().Window.Maximize(); WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home"); LoginPage loginPage = new LoginPage(WebDriver); SendPage SendPg = new SendPage(WebDriver); ReceivedPage Recpg = new ReceivedPage(WebDriver); loginPage.UserNameTextBox().Click(); loginPage.UserNameTextBox().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com"); loginPage.PasswordTextBox().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); loginPage.PasswordTextBox().SendKeys("Password1"); loginPage.LoginButton().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); SetPasswordPage setpwdpg = new SetPasswordPage(WebDriver); //initial password setup setpwdpg.Email().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com"); SeleniumSetMethods.WaitOnPage(secdelay3); setpwdpg.TemporaryPassword().SendKeys("Password1"); SeleniumSetMethods.WaitOnPage(secdelay2); setpwdpg.NewPassword().SendKeys("Cognito1"); SeleniumSetMethods.WaitOnPage(secdelay2); setpwdpg.ConfirmPassword().SendKeys("Cognito1"); SeleniumSetMethods.WaitOnPage(secdelay2); setpwdpg.SetYourPasswordBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); loginPage.PasswordTextBox().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); loginPage.PasswordTextBox().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); loginPage.PasswordTextBox().SendKeys("Cognito1"); loginPage.LoginButton().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); HomePage hmpg = new HomePage(WebDriver); hmpg.SentBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); string noinctxt = SendPg.Noinvoiceavailablemsg().Text; SeleniumSetMethods.WaitOnPage(secdelay5); Assert.IsTrue(noinctxt.Contains("No Invoices Available")); SeleniumSetMethods.WaitOnPage(secdelay4); IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver); IssueInvoicePg.IssueInvoiceButton().Click(); SeleniumSetMethods.WaitOnPage(secdelay4); // Issue Invoice AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver); AddCustomerPg.AddCustomerButton().Click(); AddCustomerPg.BusinessName().Click(); AddCustomerPg.BusinessName().SendKeys("ExternalNoGST@" + randnumber1); AddCustomerPg.Abn().SendKeys("12345678910"); AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1); AddCustomerPg.ContactEmail().SendKeys("manualtestdemob+" + randnumber1 + "@gmail.com"); AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447"); AddCustomerPg.Street().SendKeys("10 Miller Street"); AddCustomerPg.Suburb().SendKeys("Murarrie"); AddCustomerPg.Postcode().SendKeys("4172"); AddCustomerPg.AddBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); // Invoice Creation @amountGst.default = $1,000.00 IssueInvoicePg.CreateInvoice().Click(); IssueInvoicePg.InvoiceReferenceCreate().SendKeys("INVNEW@" + randnumber1); IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer"); IssueInvoicePg.LineItemAmount().SendKeys("1010"); IssueInvoicePg.Message().SendKeys("Test invoice has been sent"); IssueInvoicePg.SendInvoiceBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay7); Console.WriteLine("InvoiceCreated"); HomePg.SentBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay7); SendPg.SentOutstandingBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay7); SendPg.SearchInvoiceSent().SendKeys("INVNEW@" + randnumber1); SeleniumSetMethods.WaitOnPage(secdelay10); SendPg.BillzyRefResult().Click(); SeleniumSetMethods.WaitOnPage(secdelay4); } } finally { SeleniumSetMethods.WaitOnPage(secdelay2); WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received"); SeleniumSetMethods.WaitOnPage(secdelay4); } }
public void MerchantAccountVerification03_VerifyMerchantAccount() { //New user creation HomePage HomePg = new HomePage(WebDriver); try { Random rand = new Random(); DateTime dt = new DateTime(); string dtString = dt.ToString("MM/dd/yyyy HH:mm:ss"); int randnumber1 = rand.Next(); string xmlMessage = @"<BillzyBusiness> <businessName>madcowtesting10+anogstbiller02</businessName> <qvalentSubMerchantName>madcowtesting10+anogstbiller02</qvalentSubMerchantName> <businessPhone>12345678</businessPhone> <businessAddressStreet>370 Queen St</businessAddressStreet> <businessAddressSuburb>Brisbane</businessAddressSuburb> <businessAddressState>QLD</businessAddressState> <businessAddressPostcode>4000</businessAddressPostcode> <businessEmail>[email protected]</businessEmail> <abn>10987654321</abn> <showDebitAccounts>true</showDebitAccounts> <gstRegistered>false</gstRegistered> <contact> <name>madcowtesting10+anogstbiller02</name> <email>[email protected]</email> <phone>0405028000</phone> <loginName>[email protected]</loginName> </contact> <bankAccount> <name>receiveAccount</name> <bsb>484799</bsb> <accountNumber>65432111</accountNumber> </bankAccount> <createdByUser> <username>[email protected]</username> <password>Cognito1</password> </createdByUser> <referrer> <referrerId>1</referrerId> <name>[email protected]</name> </referrer> </BillzyBusiness>"; string numb = randnumber1.ToString(); var replacement = xmlMessage.Replace("anogstbiller02", numb); Console.WriteLine($"The source string is <{xmlMessage}>"); Console.WriteLine($"The updated string is <{replacement}>"); string url = "https://api.demo.billzy.com/accounts/v1"; byte[] bytes = Encoding.UTF8.GetBytes(replacement); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "text/xml"; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } using (HttpWebResponse response = (HttpWebResponse) request.GetResponse()) { //###Login to biller account WebDriver.Manage().Window.Maximize(); WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home"); LoginPage loginPage = new LoginPage(WebDriver); SendPage SendPg = new SendPage(WebDriver); ReceivedPage Recpg = new ReceivedPage(WebDriver); loginPage.UserNameTextBox().Click(); loginPage.UserNameTextBox().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com"); loginPage.PasswordTextBox().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); loginPage.PasswordTextBox().SendKeys("Password1"); loginPage.LoginButton().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); SetPasswordPage setpwdpg = new SetPasswordPage(WebDriver); //initial password setup setpwdpg.Email().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com"); SeleniumSetMethods.WaitOnPage(secdelay3); setpwdpg.TemporaryPassword().SendKeys("Password1"); SeleniumSetMethods.WaitOnPage(secdelay2); setpwdpg.NewPassword().SendKeys("Cognito1"); SeleniumSetMethods.WaitOnPage(secdelay2); setpwdpg.ConfirmPassword().SendKeys("Cognito1"); SeleniumSetMethods.WaitOnPage(secdelay2); setpwdpg.SetYourPasswordBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); loginPage.PasswordTextBox().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); loginPage.PasswordTextBox().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); loginPage.PasswordTextBox().SendKeys("Cognito1"); loginPage.LoginButton().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); HomePage hmpg = new HomePage(WebDriver); hmpg.SentBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay5); string noinctxt = SendPg.Noinvoiceavailablemsg().Text; SeleniumSetMethods.WaitOnPage(secdelay5); Assert.IsTrue(noinctxt.Contains("No Invoices Available")); SeleniumSetMethods.WaitOnPage(secdelay4); // Merchant account verification HomePg.Profile().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); HomePg.CardMgmnt().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantAccountPage MerchantPg = new MerchantAccountPage(WebDriver); MerchantPg.MerchantAccountTab().Click(); SeleniumSetMethods.WaitOnPage(secdelay2); bool BSB = MerchantPg.BSB().Displayed; bool AccountName = MerchantPg.AccountName().Displayed; bool AccountNumber = MerchantPg.AccountNumber().Displayed; bool VerifiedDate = MerchantPg.VerifiedDate().Displayed; bool UpdateMessage = MerchantPg.UpdateMessage().Displayed; bool VerifyYourBankAccountBTN = MerchantPg.VerifyYourBankAccountBTN().Displayed; String DateVerified1 = MerchantPg.VerifiedDate().Text; SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue((VerifyYourBankAccountBTN == true) && DateVerified1.Contains("Account not yet verified")); SeleniumSetMethods.WaitOnPage(secdelay2); // failed to verify the first two attempts and successful in the third attempt MerchantPg.VerifyYourBankAccountBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPage VerifyBankAccountPg = new VerifyBankAccountPage(WebDriver); VerifyBankAccountPg.DepositedAmount1().SendKeys("0.02"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount2().SendKeys("0.02"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.VerifyBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); String VerifyErrorMessage = VerifyBankAccountPg.ErrorMessage().Text; SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue(VerifyErrorMessage.Contains("You have two attempts remaining")); VerifyBankAccountPg.CancelBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.VerifyYourBankAccountBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount1().SendKeys("0.03"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount2().SendKeys("0.01"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.VerifyBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); String VerifyErrorMessage1 = VerifyBankAccountPg.ErrorMessage().Text; Assert.IsTrue(VerifyErrorMessage1.Contains("You have one attempt remaining")); VerifyBankAccountPg.CancelBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.VerifyYourBankAccountBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount1().SendKeys("0.01"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount2().SendKeys("0.01"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.VerifyBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); String UpdateMessage1 = MerchantPg.UpdateMessage().Text; String VerifiedDate1 = MerchantPg.VerifiedDate().Text; string Today = DateTime.Now.ToString("dd/MM/yyyy"); SeleniumSetMethods.WaitOnPage(secdelay5); Assert.IsTrue(UpdateMessage1.Contains("If you update your merchant account you will be required to verify your new bank account details by confirming two small amounts that will be deposited into your account.") && VerifiedDate1.Contains(Today)); HomePg.CardMgmnt().Click(); SeleniumSetMethods.WaitOnPage(secdelay1); //verifying the account update MerchantPg.MerchantAccountTab().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.BSB().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.BSB().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantPg.BSB().SendKeys("484798"); MerchantPg.AccountNumber().Click(); SeleniumSetMethods.WaitOnPage(secdelay8); MerchantPg.AccountNumber().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantPg.AccountNumber().SendKeys("65432112"); MerchantPg.UpdateBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); bool VerifyYourBankAccountBTN1 = MerchantPg.VerifyYourBankAccountBTN().Displayed; SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue(VerifyYourBankAccountBTN1 == true); //verifying the already verified account MerchantPg.MerchantAccountTab().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.BSB().Click(); SeleniumSetMethods.WaitOnPage(secdelay8); MerchantPg.BSB().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantPg.BSB().SendKeys("484799"); MerchantPg.AccountNumber().Click(); SeleniumSetMethods.WaitOnPage(secdelay8); MerchantPg.AccountNumber().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantPg.AccountNumber().SendKeys("65432111"); MerchantPg.AccountName().Click(); MerchantPg.AccountName().SendKeys("2"); MerchantPg.UpdateBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); bool VerifyYourBankAccountBTN2 = MerchantPg.VerifyYourBankAccountBTN().Displayed; SeleniumSetMethods.WaitOnPage(secdelay3); string Today1 = DateTime.Now.ToString("dd/MM/yyyy"); String VerifiedDate11 = MerchantPg.VerifiedDate().Text; SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue(VerifyYourBankAccountBTN2 == false && VerifiedDate11.Contains(Today1)); SeleniumSetMethods.WaitOnPage(secdelay2); // failed verification in all three attempts MerchantPg.MerchantAccountTab().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.BSB().Click(); SeleniumSetMethods.WaitOnPage(secdelay8); MerchantPg.BSB().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantPg.BSB().SendKeys("484799"); MerchantPg.AccountNumber().Click(); SeleniumSetMethods.WaitOnPage(secdelay8); MerchantPg.AccountNumber().Clear(); SeleniumSetMethods.WaitOnPage(secdelay2); MerchantPg.AccountNumber().SendKeys("65432112"); MerchantPg.AccountName().Click(); MerchantPg.AccountName().SendKeys("2"); MerchantPg.UpdateBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.VerifyYourBankAccountBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount1().SendKeys("0.02"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount2().SendKeys("0.02"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.VerifyBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); String VerifyErrorMessage11 = VerifyBankAccountPg.ErrorMessage().Text; SeleniumSetMethods.WaitOnPage(secdelay2); Assert.IsTrue(VerifyErrorMessage11.Contains("You have two attempts remaining")); VerifyBankAccountPg.CancelBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.VerifyYourBankAccountBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount1().SendKeys("0.03"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount2().SendKeys("0.01"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.VerifyBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); String VerifyErrorMessage22 = VerifyBankAccountPg.ErrorMessage().Text; Assert.IsTrue(VerifyErrorMessage22.Contains("You have one attempt remaining")); VerifyBankAccountPg.CancelBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); MerchantPg.VerifyYourBankAccountBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount1().SendKeys("0.01"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.DepositedAmount2().SendKeys("0.04"); SeleniumSetMethods.WaitOnPage(secdelay3); VerifyBankAccountPg.VerifyBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); String VerifyErrorMessage33 = VerifyBankAccountPg.ErrorMessage().Text; SeleniumSetMethods.WaitOnPage(secdelay3); Assert.IsTrue(VerifyErrorMessage33.Contains("You have no more attempts remaining, please contact billzy")); VerifyBankAccountPg.CancelBTN().Click(); SeleniumSetMethods.WaitOnPage(secdelay3); bool ContactBillzyBTN = MerchantPg.ContactBillzyBTN().Displayed; SeleniumSetMethods.WaitOnPage(secdelay3); Assert.IsTrue(ContactBillzyBTN == true); SeleniumSetMethods.WaitOnPage(secdelay2); WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received"); SeleniumSetMethods.WaitOnPage(secdelay4); } } finally { } }