Example #1
0
        public void InvoiceWithDeal02_NoGST_Overdue_Processing_DD()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.BusinessName().Click();
                IssueInvoicePg.BusinessName().SendKeys("PayNoGST");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                //Generate two random numbers for unique customer details and invoice
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                Random   rand2       = new Random();
                DateTime dt2         = new DateTime();
                string   dtString2   = dt2.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber2 = rand.Next();

                DateTime newDate   = DateTime.Now;
                string   dtString3 = newDate.ToString("dd/MM/yyyy");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "By Due Date";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.CreateInvoice().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("OverDueInvoice2_@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to Internal Payer");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.DueDate().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.DueDate().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.DueDate().SendKeys(dtString3);


                IssueInvoicePg.LineItemAmount().SendKeys("400.82");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer excluding GST");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BillzyDealBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.NewTotal().SendKeys("319.82");
                SeleniumSetMethods.WaitOnPage(secdelay1);

                IssueInvoicePg.OfferExpiry().Clear();
                IssueInvoicePg.OfferExpiry().SendKeys(dtString3);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.Comments().SendKeys("Biller created deal");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                Console.WriteLine("InvoiceCreated");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.SearchInvoiceSent().SendKeys("OverDueInvoice2_@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.ActionsMenu().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("OverDueInvoice2");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                string invnumber     = SIVPG1.InvNumber().Text;
                string invoicenumber = invnumber.Substring(invnumber.IndexOf("Invoice ")).Replace("Invoice ", "");
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string dealsts = SIVPG1.DiscountHistoryStatus01().Text;
                string amount  = SIVPG1.PayButtonNoDeal().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dealsts.Contains("RECEIVED") && amount.Contains("PAY $400.82 (excl. GST)"));

                SIVPG1.PayerVerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.ReturnBTN().Click();
                Recpg.SearchInvoiceReceived().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Recpg.ActionsMenu().Click();
                Recpg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);

                SIVPG1.PayBTNNoDeal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                PayNowPage Paynwpg = new PayNowPage(WebDriver);
                Paynwpg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Paynwpg.CardRow02().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));


                string amount1 = Paynwpg.Row01AmountPayable().GetAttribute("value");
                bool   siv2    = bodyTag.Text.Contains("Includes 1.67% surcharge");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(amount1.Contains("400.82") && siv2 == false);
                Paynwpg.ConfirmPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Paynwpg.DoneBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                string paidstatushover = Recpg.HistoryProcessingStatus().GetAttribute("data-title");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(paidstatushover.Contains("processing"));
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String status2 = SIVPG1.InvoiceStatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(status2.Contains("PROCESSING"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SendPg.SentHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SearchInvoiceSent().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                string paidstatushover1 = SendPg.HistoryProcessingStatus().GetAttribute("data-title");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(paidstatushover1.Contains("processing"));
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                string dealmsg    = SendPg.SIVProcessingStatus().Text;
                string invref     = SIVPG1.InvoiceDetailsInvoiceRef().Text;
                string paidamount = SIVPG1.InvoiceDetailsInvoiceAmount().Text;

                Assert.IsTrue(dealmsg.Contains("PROCESSING") && invref.Contains("OverDue") && paidamount.Contains("$400.82"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void BankAccountVerification01_VerifyNewlyAddedBank()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                /* Bank Account Verification Scenarios -
                 *  Add Account and Verify
                 *  Delete Account
                 *  Add account and failed verification
                 */
                string bankAccountName1 = "Bank Account 01";
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();

                SeleniumSetMethods.WaitOnPage(secdelay8);

                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                DebitCardPage DebitCardPg = new DebitCardPage(WebDriver);
                DebitCardPg.DebitCardBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                DebitCardPg.AddBankAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.NameofAccount().SendKeys(bankAccountName1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.Bsb().SendKeys("650001");

                Random   rand1     = new Random();
                DateTime dt1       = new DateTime();
                string   dtString1 = dt1.ToString("MM HH:mm:ss");
                int      randBankAccountNumber1 = rand1.Next();

                DebitCardPg.AccountNumber().SendKeys(randBankAccountNumber1.ToString());
                String BankAccountNumber1 = DebitCardPg.AccountNumber().Text;
                DebitCardPg.BankName().SendKeys("Westpac");
                DebitCardPg.AccountNickname().SendKeys(bankAccountName1);
                DebitCardPg.TCCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.AddDebitAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                DebitCardPg.AccountNickName1().Equals(bankAccountName1);

                String DateVerified1    = DebitCardPg.DateVerified1().Text;
                String BSB1             = DebitCardPg.BSB1().Text;
                String AccountNumber1   = DebitCardPg.AccountNumber1().Text;
                String AccountNickName1 = DebitCardPg.AccountNickName1().Text;
                String AccountName1     = DebitCardPg.AccountName1().Text;
                string PendingIcon1     = DebitCardPg.VerifyPendingIcon1().GetAttribute("title");
                SeleniumSetMethods.WaitOnPage(secdelay4);

                Assert.IsTrue(DateVerified1.Contains("Verify Now") && BSB1.Contains("650001") && AccountName1.Contains(bankAccountName1) && AccountNumber1.Contains(BankAccountNumber1) && PendingIcon1.Contains("Pending transactions"));


                DebitCardPg.VerifyNowLink1().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                string defaultDepositedAmount             = "0.01";
                VerifyBankAccountPage VerifyBankAccountPg = new VerifyBankAccountPage(WebDriver);
                VerifyBankAccountPg.DepositedAmount1().SendKeys(defaultDepositedAmount);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount2().SendKeys(defaultDepositedAmount);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String CancelBTN = VerifyBankAccountPg.CancelBTN().Text;
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Assert.IsTrue(CancelBTN.Contains("CANCEL"));


                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string Today = DateTime.Now.ToString("dd/MM/yyyy");
                //bool VerifyVerifiedIcon1 = DebitCardPg.VerifyVerifiedIcon1().Displayed;
                string VerifiedIcon1 = DebitCardPg.VerifyVerifiedIcon1().GetAttribute("title");
                String DateVerified2 = DebitCardPg.DateVerified1().Text;
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Assert.IsTrue(DateVerified2.Contains(Today) && VerifiedIcon1.Contains("Verified account"));

                VerifyBankAccountPg.DeleteAccountButton().Click();

                SeleniumSetMethods.WaitOnPage(secdelay3);

                DebitCardPg.AddBankAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Random   rand2     = new Random();
                DateTime dt2       = new DateTime();
                string   dtString2 = dt2.ToString("MM HH:mm:ss");
                int      randBankAccountNumber2 = rand2.Next();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.NameofAccount().SendKeys("Invalid Account");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.Bsb().SendKeys("650002");
                DebitCardPg.AccountNumber().SendKeys(randBankAccountNumber2.ToString());
                String BankAccountNumber11 = DebitCardPg.AccountNumber().Text;
                DebitCardPg.BankName().SendKeys("Westpac");
                DebitCardPg.AccountNickname().SendKeys("Invalid Account");
                DebitCardPg.TCCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.AddDebitAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyNowLink1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount1().SendKeys("0.02");
                VerifyBankAccountPg.DepositedAmount2().SendKeys("0.02");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String ErrorMessage = VerifyBankAccountPg.ErrorMessage().Text;


                Assert.IsTrue(ErrorMessage.Contains("You have two attempts remaining"));

                VerifyBankAccountPg.CancelBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyNowLink1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount1().SendKeys("0.03");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount2().SendKeys("0.03");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String ErrorMessage1 = VerifyBankAccountPg.ErrorMessage().Text;
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Assert.IsTrue(ErrorMessage1.Contains("You have one attempt remaining"));

                VerifyBankAccountPg.CancelBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyNowLink1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                VerifyBankAccountPg.DepositedAmount1().SendKeys("0.04");

                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DepositedAmount2().SendKeys("0.04");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.VerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String ErrorMessage2 = VerifyBankAccountPg.ErrorMessage().Text;
                Assert.IsTrue(ErrorMessage2.Contains("You have no more attempts remaining, please contact billzy"));

                bool VerifyButton = DebitCardPg.VerifyNowLink1().Displayed;
                Console.WriteLine(VerifyButton);
                VerifyBankAccountPg.CancelBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.VerifyContactBillzy().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String BillzyContact = VerifyBankAccountPg.BillzyContact1().Text;
                Assert.IsTrue(BillzyContact.Contains("Phone: 1300 BILLZY"));

                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitCardPg.DebitCardBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                VerifyBankAccountPg.DeleteAccountButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void BillzyInbox01_ListView_and_SIV_validation_CSVExport()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Recpg.BillzyInboxFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));
                bool        data1   = bodyTag.Text.Contains("Young Advertising");
                bool        data2   = bodyTag.Text.Contains("Pitney Bowes");
                bool        data3   = bodyTag.Text.Contains("Invoices");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(data1 == true && data2 == true && data3 == true);
                Recpg.BillzyInboxFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool data44 = bodyTag.Text.Contains("Invoices");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(data44 == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyDealFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool data4 = bodyTag.Text.Contains("Offer");
                SeleniumSetMethods.WaitOnPage(secdelay2);

                Assert.IsTrue(data4 == true);
                //Recpg.BillzyDealFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyInboxFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool data55 = bodyTag.Text.Contains("No Invoices Available");
                SeleniumSetMethods.WaitOnPage(secdelay2);

                Assert.IsTrue(data55 == true);
                Recpg.BillzyInboxFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyDealFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);

                Recpg.SearchInvoiceReceived().SendKeys("Young Advertising");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.ToPayTab().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool data5  = bodyTag.Text.Contains("Please verify invoice");
                bool data6  = bodyTag.Text.Contains("Young Advertising");
                bool data7  = bodyTag.Text.Contains("1038");
                bool data8  = bodyTag.Text.Contains("29 Jun 17");
                bool data9  = bodyTag.Text.Contains("$6,600.00");
                bool data10 = bodyTag.Text.Contains("External Biller");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(data5 == false && data6 == true && data7 == true && data8 == true && data9 == true && data10 == false);
                Recpg.BillzyInboxFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);


                IWebElement bodyTag2    = WebDriver.FindElement(By.TagName("body"));
                bool        datacheck3  = bodyTag2.Text.Contains("Young Advertising");
                bool        datacheck4  = bodyTag2.Text.Contains("Pitney Bowes");
                bool        datacheck5  = bodyTag2.Text.Contains("Please verify invoice");
                bool        datacheck6  = bodyTag2.Text.Contains("Offer sent");
                bool        datacheck7  = bodyTag2.Text.Contains("Offer received");
                bool        datacheck8  = bodyTag2.Text.Contains("Offer declined");
                bool        datacheck9  = bodyTag2.Text.Contains("Offer accepted");
                bool        datacheck10 = bodyTag2.Text.Contains("Offer withdrawn");
                bool        datacheck11 = bodyTag2.Text.Contains("INV-004");
                bool        datacheck12 = bodyTag2.Text.Contains("External Biller");
                string      data        = bodyTag2.Text;
                Console.WriteLine(data);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(datacheck3 == true && datacheck4 == true && datacheck5 == false && datacheck6 == false && datacheck7 == false && datacheck8 == false && datacheck9 == false && datacheck10 == false && datacheck11 == false && datacheck12 == false);
                Recpg.BillzyDealFilterCheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool ddatacheck3  = bodyTag2.Text.Contains("Young Advertising");
                bool ddatacheck4  = bodyTag2.Text.Contains("Pitney Bowes");
                bool ddatacheck5  = bodyTag2.Text.Contains("Please verify invoice");
                bool ddatacheck6  = bodyTag2.Text.Contains("Offer sent");
                bool ddatacheck7  = bodyTag2.Text.Contains("Offer received");
                bool ddatacheck8  = bodyTag2.Text.Contains("Offer declined");
                bool ddatacheck9  = bodyTag2.Text.Contains("Offer accepted");
                bool ddatacheck10 = bodyTag2.Text.Contains("Offer withdrawn");
                bool ddatacheck11 = bodyTag2.Text.Contains("INV-004");
                bool ddatacheck12 = bodyTag2.Text.Contains("External Biller");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(ddatacheck3 == false && ddatacheck4 == false && ddatacheck5 == false && ddatacheck6 == false && ddatacheck7 == false && ddatacheck8 == false && ddatacheck9 == false && ddatacheck10 == false && ddatacheck11 == false && ddatacheck12 == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                Recpg.BillzyInboxFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.BillzyDealFilterUncheckBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                IWebElement bodyTag222 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool dddatacheck3  = bodyTag222.Text.Contains("Young Advertising");
                bool dddatacheck4  = bodyTag222.Text.Contains("Pitney Bowes");
                bool dddatacheck5  = bodyTag222.Text.Contains("Please verify invoice");
                bool dddatacheck6  = bodyTag222.Text.Contains("Offer sent");
                bool dddatacheck7  = bodyTag222.Text.Contains("Offer received");
                bool dddatacheck8  = bodyTag222.Text.Contains("Offer declined");
                bool dddatacheck9  = bodyTag222.Text.Contains("Offer accepted");
                bool dddatacheck10 = bodyTag222.Text.Contains("Offer withdrawn");
                bool dddatacheck11 = bodyTag222.Text.Contains("INV-004");
                bool dddatacheck12 = bodyTag222.Text.Contains("External Biller");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dddatacheck3 == true && dddatacheck4 == true && dddatacheck5 == false && dddatacheck6 == true && dddatacheck7 == true && dddatacheck8 == true && dddatacheck9 == true && dddatacheck10 == true && dddatacheck11 == true && dddatacheck12 == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                //testInfo = As Payer verify BillzyInbox Invoice functionalities in SIV
                SeleniumSetMethods.WaitOnPage(secdelay4);

                Recpg.SearchInvoiceReceived().SendKeys("Young Advertising");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                Recpg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool        inboxicon      = SIVPG1.BillzyInboxIcon().Displayed;
                IWebElement bodyTag4       = WebDriver.FindElement(By.TagName("body"));
                bool        billoerbusname = bodyTag4.Text.Contains("Young Advertising");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(inboxicon == true && billoerbusname == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.ActionDropdown().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool dele = SIVPG1.ActionDropdownDelete().Displayed;
                bool mark = SIVPG1.ActionDropdownMarkAsPaid().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(dele == true && mark == false);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool billerofferbtn            = SIVPG1.BillerOfferADiscountBTN().Displayed;
                bool PayerOfferEarlyPaymentBTN = SIVPG1.PayerOfferEarlyPaymentBTN().Displayed;
                bool PayerVerifyBTN            = SIVPG1.PayerVerifyBTN().Displayed;
                bool PayBTNNoDeal = SIVPG1.PayBTNNoDeal().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(billerofferbtn == false && PayerOfferEarlyPaymentBTN == false && PayBTNNoDeal == true && PayerVerifyBTN == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void IssueInvoice09_InternalPayer_UploadInvoice_NoGST_NoDeal_Surcharge_EndofNextMonth()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+A");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "End of next month";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.PdfUploadFileBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.uploadPDF().SendKeys(@"C:\Users\Selenium\Desktop\SeleniumRegressionSuite_Bamboo\bin\Debug\netcoreapp3.1\Invoice.pdf");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.UploadAmount().SendKeys("1212.11");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.UploadInvRef().SendKeys("Int-Inv@" + randnumber1);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+IntPayUploadInvNoGST has sent you an invoice"));
                DateTime duedate2        = DateTime.Today.AddDays(30);
                string   SentPgDueDate3  = duedate2.ToString("dd MMM yy");
                string   SentPgDueDate33 = duedate2.ToString("dd/MM/yyyy");
                IssueInvoicePg.Uploadsurcharge().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Int-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void DealFee03_BillerCounterPayerCounterDeal()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowtesting10+872815244");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();

                //Generate two random numbers for unique customer details and invoice
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                Random   rand2       = new Random();
                DateTime dt2         = new DateTime();
                string   dtString2   = dt2.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber2 = rand.Next();

                SeleniumSetMethods.WaitOnPage(secdelay3);

                String PaymentTerms = "60 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("INVDealFees@" + randnumber2);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to Internal Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("1875.12");
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer");
                IssueInvoicePg.SurchargeCheckbox().Click();

                //issueInvoice_issueInvoicePage_totalValue.checkValueContains = @amountGst
                IssueInvoicePg.SendInvoiceBTN().Click();
                Console.WriteLine("InvoiceCreated");
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.SearchInvoiceSent().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                bool reqcash = SIVPG1.RequestBillzyCashBTN().Displayed;
                bool reqdeal = SIVPG1.RequestBillzyDealBTN().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(reqcash == true && reqdeal == true);
                DateTime duedate1       = DateTime.Today.AddDays(30);
                string   SentPgDueDate  = duedate1.ToString("dd/MM/yyyy");
                string   SentPgDueDate2 = duedate1.ToString("dd MMM yy");
                SIVPG1.BillerOfferADiscountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().SendKeys("1800.55");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Click();
                string percentage = SIVPG1.SIVOfferDiscountpercentage().Text;
                Assert.IsTrue(percentage.Contains("12.71%"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().SendKeys(SentPgDueDate);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                SIVPG1.Comments().SendKeys("Biller offered a Deal");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.OfferDiscountModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay8);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.PayerMakeACounterOfferBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);

                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().SendKeys("1700");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //verify discount %


                string percentage2 = SIVPG1.SIVOfferDiscountpercentage().Text;
                Assert.IsTrue(percentage2.Contains("17.58%"));
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SIVPG1.Comments().SendKeys("Payer made a counter offer");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                SIVPG1.makeCounterOfferModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                bool withdraw = SIVPG1.WithdrawOfferPayerBTN().Displayed;
                Assert.IsTrue(withdraw == true);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ActionsMenu().Click();
                HomePg.SignOutBTN().Click();

                SeleniumSetMethods.WaitOnPage(secdelay4);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");

                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.SearchInvoiceSent().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                string status = SendPg.BillzyRow1().Text;
                bool   icon   = SendPg.OfferRecievedIcon().Displayed;

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(status.Contains("Offer received") && icon == true);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
                SIVPG1.BillerMakeACounterOfferBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                DateTime duedate3       = DateTime.Today.AddDays(15);
                string   SentPgDueDate3 = duedate3.ToString("dd/MM/yyyy");
                string   SentPgDueDate4 = duedate3.ToString("dd MMM yy");
                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.NewTotal().SendKeys("1800");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //verify discount %
                string percentage1 = SIVPG1.SIVOfferDiscountpercentage().Text;
                Assert.IsTrue(percentage1.Contains("12.73%"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.OfferExpiry().SendKeys(SentPgDueDate3);
                SeleniumSetMethods.WaitOnPage(secdelay1);
                SIVPG1.Comments().SendKeys("Biller made a counter offer");
                SeleniumSetMethods.WaitOnPage(secdelay3);

                SIVPG1.makeCounterOfferModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                SendPg.SearchInvoiceSent().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay7);

                String OfferStatus2 = SendPg.OfferStatussendpage().Text;

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferStatus2.Contains("Offer sent"));
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                loginPage.UserNameTextBox().Click();

                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);

                String OfferStatus3 = Recpg.OfferacceptedStatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay1);

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferStatus3.Contains("Offer received"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);

                SIVPG1.PayerVerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);


                Recpg.ActionsMenu().Click();
                Recpg.PAY().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                PayNowPage Paynwpg = new PayNowPage(WebDriver);
                Paynwpg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Paynwpg.CardRow01().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                Paynwpg.ConfirmPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Paynwpg.DoneBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();

                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("INVDealFees@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                string paidstatushover = Recpg.HistoryPaidStatus().GetAttribute("data-title");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(paidstatushover.Contains("paid"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
        public void AddDeleteCards01()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                Console.WriteLine(WebDriver.Manage().Window.Size);

                /*
                 *
                 * WebDriver.Manage().Window.Size = new Size(825, 990);
                 * SeleniumSetMethods.WaitOnPage(secdelay5);
                 * Console.WriteLine(WebDriver.Manage().Window.Size);
                 * Console.WriteLine("Test");
                 */

                WebDriver.Manage().Window.Maximize();

                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");

                LoginPage loginPage = new LoginPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                CardPage CardPg = new CardPage(WebDriver);

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.CardMgmnt().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                //testInfo = Test 1 : Card Management - "Add Card" All Fields Displayed
                IWebElement bodyTag    = WebDriver.FindElement(By.TagName("body"));
                bool        card1      = bodyTag.Text.Contains("Add Card");
                bool        card2      = bodyTag.Text.Contains("Name on Credit Card");
                bool        card3      = bodyTag.Text.Contains("Credit Card Number");
                bool        card4      = bodyTag.Text.Contains("Expiry Date");
                bool        card5      = bodyTag.Text.Contains("Account Nickname");
                bool        CardField1 = CardPg.CardName().Displayed;
                bool        CardField2 = CardPg.NumberOnCard().Displayed;
                bool        CardField3 = CardPg.EndMonth().Displayed;
                bool        CardField4 = CardPg.EndYear().Displayed;
                bool        CardField5 = CardPg.CardNickname().Displayed;
                bool        CardField6 = CardPg.AddCard().Displayed;
                bool        CardField7 = CardPg.Cancel().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(card1 == true && card2 == true && card3 == true && card4 == true && card5 == true && CardField1 == true && CardField2 == true && CardField3 == true && CardField4 == true && CardField5 == true && CardField6 == true && CardField7 == true);

                //Master Card
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("5454545454545454");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
                //CardPg.DeleteCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //Visa Card
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("4111111111111111");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                //CardPg.DeleteCard().Click();
                CardPg.DeleteCard().Click();
                //Add  invalid Card number " Credit Card Number Field Error message
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("4111111111111199");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        err1     = bodyTag1.Text.Contains("Invalid card number.");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(err1 == true);
                CardPg.AddCard().Click();
                IWebElement bodyTag11 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool refresh1 = bodyTag11.Text.Contains("Add Credit Card");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(refresh1 == true);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().Refresh();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement bodyTag22 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool refresh11 = bodyTag22.Text.Contains("Add Credit Card");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(refresh11 == false);
                CardPg.AddCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.CardName().SendKeys("Credit Card Owner");
                CardPg.NumberOnCard().SendKeys("8113131313133313");
                CardPg.EndMonth().SendKeys("12");
                CardPg.EndYear().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.EndYear().SendKeys("21");
                CardPg.CardCvc().SendKeys("123");
                CardPg.CardNickname().SendKeys("TestOnly");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                CardPg.AddCard2().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement bodyTag2 = WebDriver.FindElement(By.TagName("body"));
                bool        err2     = bodyTag2.Text.Contains("Only Visa and MasterCard are accepted at present.");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(err2 == true);
                CardPg.Cancel().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //Add Debit Card functionality
                DebitCardPage DebitPg = new DebitCardPage(WebDriver);
                DebitPg.DebitCardBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                DebitPg.AddBankAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                DebitPg.NameofAccount().SendKeys("AddDebitAccount1");
                DebitPg.Bsb().SendKeys("123456");
                DebitPg.AccountNumber().SendKeys("123456789");
                DebitPg.BankName().SendKeys("commBank");
                DebitPg.AccountNickname().SendKeys("DebitNickName1");
                DebitPg.TCCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                DebitPg.AddDebitAccountBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                IWebElement bodyTag3   = WebDriver.FindElement(By.TagName("body"));
                bool        bank1      = bodyTag3.Text.Contains("Account Nickname");
                bool        bank2      = bodyTag3.Text.Contains("BSB");
                bool        bank3      = bodyTag3.Text.Contains("Account Number");
                bool        bank4      = bodyTag3.Text.Contains("Bank");
                bool        bank5      = bodyTag3.Text.Contains("Account Name");
                bool        bankField1 = bodyTag3.Text.Contains("Delete");
                bool        bankField2 = bodyTag3.Text.Contains("DebitNickName1");
                bool        bankField3 = bodyTag3.Text.Contains("123456");
                bool        bankField4 = bodyTag3.Text.Contains("123456789");
                bool        bankField5 = bodyTag3.Text.Contains("commBank");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(bank1 == true && bank2 == true && bank3 == true && bank4 == true && bank5 == true && bankField1 == true && bankField2 == true && bankField3 == true && bankField4 == true && bankField5 == true);
                DebitPg.Deleteaccount().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag4 = WebDriver.FindElement(By.TagName("body"));
                bool        bankdet1 = bodyTag4.Text.Contains("DebitNickName1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(bankdet1 == false);
                DebitPg.DebitCardBTN().Click();
                //verify the headings
                string title = CardPg.BankAccountTitles().Text;
                Console.WriteLine("title" + title);
                string data = CardPg.BankAccountData().Text;
                Console.WriteLine("data" + data);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }
Example #7
0
        public void Payway01_SettlementReportDisplay()
        {
            HomePage  HomePg    = new HomePage(WebDriver);
            LoginPage loginPage = new LoginPage(WebDriver);
            BOBOPage  Bobopg    = new BOBOPage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("madcowpayer+dealppp01");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "30 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Inv-67.1" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("67.1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Inv-67.1" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string invnumber1     = SIVPG1.InvNumber().Text;
                string invoicenumber1 = invnumber1.Substring(invnumber1.IndexOf("Invoice ")).Replace("Invoice ", "");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://4impact-billzy-bobo-ui-uat.s3-ap-southeast-2.amazonaws.com/poc.html");

                Bobopg.Username().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Bobopg.Username().SendKeys("*****@*****.**");
                Bobopg.Password().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Bobopg.Password().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Bobopg.LoginBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay10);
                string textcheck = Bobopg.UserWelcomeMessage().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(textcheck.Contains("Welcome, [email protected]"));
                Bobopg.PaywayTabSelection().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Bobopg.MatchButton1().Click();;
                SeleniumSetMethods.WaitOnPage(secdelay5);

                Bobopg.MatchButtonCancel().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Bobopg.MatchButton1().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IWebElement MarkAsPaidInv = WebDriver.FindElement(By.XPath("(//*[@id=\"" + invoicenumber1 + "\"])[1]"));
                SeleniumSetMethods.WaitOnPage(secdelay3);
                MarkAsPaidInv.Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                IAlert alert1 = WebDriver.SwitchTo().Alert();
                alert1.Accept();
                SeleniumSetMethods.WaitOnPage(3);

                Bobopg.MatchButtonOk().Click();
            }
            finally
            {
            }
        }
Example #8
0
        public void EXPDeal03_SIV_PayerBillerView_WithDeal_DealPayerInitiated_IncludingGST_NoSurcharge_PayCC()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage loginPage = new LoginPage(WebDriver);


                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);

                SendPage SendPg = new SendPage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.BusinessName().Click();
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.BusinessName().SendKeys("payergst01");
                SeleniumSetMethods.WaitOnPage(secdelay1);
                IssueInvoicePg.SelectBusiness().Click();

                //Generate two random numbers for unique customer details and invoice
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                Random   rand2       = new Random();
                DateTime dt2         = new DateTime();
                string   dtString2   = dt2.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber2 = rand.Next();

                SeleniumSetMethods.WaitOnPage(secdelay3);
                DateTime newDate      = DateTime.Now.AddDays(900);
                string   dtString3    = newDate.ToString("dd/MM/yyyy");
                String   PaymentTerms = "By Due Date";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.DueDate().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.DueDate().Clear();
                IssueInvoicePg.DueDate().SendKeys(dtString3);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("PEDCC@" + randnumber2);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to Internal Payer");

                IssueInvoicePg.LineItemAmount().SendKeys("319.82");
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent to internal payer");


                //IssueInvoicePg.SurchargeCheckbox().Click();

                //issueInvoice_issueInvoicePage_totalValue.checkValueContains = @amountGst
                IssueInvoicePg.SendInvoiceBTN().Click();
                Console.WriteLine("InvoiceCreated");
                SeleniumSetMethods.WaitOnPage(secdelay7);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);



                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();

                SeleniumSetMethods.WaitOnPage(secdelay7);

                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                PayNowPage      PayNwPg        = new PayNowPage(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("PEDCC@" + randnumber2);
                SeleniumSetMethods.WaitOnPage(secdelay6);
                Recpg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SIVPG1.PayerOfferEarlyPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.NewTotal().SendKeys("319.82");

                DateTime newDate1  = DateTime.Now;
                string   dtString4 = newDate1.ToString("dd/MM/yyyy");

                SIVPG1.OfferExpiry().Clear();
                SIVPG1.OfferExpiry().SendKeys(dtString4);
                SIVPG1.Comments().SendKeys("Payer request to Offer Early Payment");
                SIVPG1.offerEarlyPaymentModalBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay6);


                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                Recpg.SearchInvoiceReceived().SendKeys("PEDCC");
                SeleniumSetMethods.WaitOnPage(secdelay10);
                Recpg.InvoiceNumclick().Click();
                SeleniumSetMethods.WaitOnPage(secdelay10);

                string billzyrefnumber = Recpg.BillzyRefResult().Text;

                bool   OfferExpiredIcon = Recpg.OfferExpiredIcon().Displayed;
                String OfferStatus      = Recpg.OfferStatus().Text;

                SeleniumSetMethods.WaitOnPage(secdelay3);
                string OfferExpiredhover = Recpg.Expiredhovertxt().GetAttribute("data-content");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                //Console.WriteLine("OfferExpiredhover" + OfferExpiredhover);
                Assert.IsTrue((OfferExpiredIcon == true) && OfferStatus.Contains("Offer expired") && OfferExpiredhover.Contains("Deal expired on:"));
                Recpg.ActionsMenu().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool PAY           = Recpg.PAY().Displayed;
                bool PostInvoice   = Recpg.PostInvoice().Displayed;
                bool VerifyExist   = Recpg.VerifyInvoice().Displayed;
                bool PDFInvoice2   = Recpg.PDFInvoice().Displayed;
                bool deleteoption1 = Recpg.DeleteOption().Displayed;
                bool dealoption    = Recpg.BillzyDealOption().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(VerifyExist == true && PDFInvoice2 == true && deleteoption1 == true && dealoption == true && PostInvoice == true && PAY == true);
                Recpg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                string invnumber     = SIVPG1.InvNumber().Text;
                string invoicenumber = invnumber.Substring(invnumber.IndexOf("Invoice ")).Replace("Invoice ", "");
                SIVPG1.PayerVerifyBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String Verifiedmsg = SIVPG1.VerifiedTextMsg().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(Verifiedmsg.Contains("You verified this invoice on"));
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                String discounthiststatus = SIVPG1.DiscountHistoryStatus01().Text;
                String Discounthistamount = SIVPG1.DiscountHistoryAmount01().Text;
                bool   paybutton          = SIVPG1.PayButtonNoDeal().Displayed;
                String PayButtonNoDealTxt = SIVPG1.PayButtonNoDeal().Text;
                // bool Paybuttondealhist = SIVPG1.PayButton().Isd;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(discounthiststatus.Contains("SENT") && paybutton == true && PayButtonNoDealTxt.Contains("PAY $351.80 (incl. GST)"));
                SIVPG1.PayButtonNoDeal().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                PayNowPage paypg = new PayNowPage(WebDriver);
                paypg.Row01SelectCard().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                paypg.CardRow03().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                paypg.ConfirmPaymentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                paypg.DoneBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                HomePg.ReceivedBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Recpg.ReceivedHistoryBTN().Click();

                Recpg.SearchInvoiceReceived().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Recpg.SearchInvoiceReceived().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay6);
                string refnum = Recpg.BillzyInvoiceNumRow01().Text;

                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(refnum.Contains(billzyrefnumber));
                bool   OfferExpiredIcon1 = Recpg.HistOfferIcon().Displayed;
                String OfferStatus1      = Recpg.HistOfferstatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferExpiredIcon1 == true && OfferStatus1.Contains("Offer expired"));
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                HomePg.SentBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SentHistoryBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys(invoicenumber);
                SeleniumSetMethods.WaitOnPage(secdelay4);
                SendPg.SearchedFirstRowDetailsLink().Click();
                SeleniumSetMethods.WaitOnPage(secdelay4);
                String INVstatus  = SIVPG1.VerifiedMsgstatus().Text;
                String Paidstatus = SIVPG1.PaidStatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Console.WriteLine("INVstatus:" + INVstatus + "Paidstatus:" + Paidstatus);
                Assert.IsTrue(INVstatus.Contains("VERIFIED") && Paidstatus.Contains("PAID"));
                SIVPG1.ToggleDealHistory().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SIVPG1.ReturnBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                bool   OfferExpiredIcon2 = Recpg.HistOfferIcon().Displayed;
                String OfferStatus2      = Recpg.HistOfferstatus().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(OfferExpiredIcon2 == true && OfferStatus2.Contains("Offer expired"));
                //HomePg.SignOutBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay7);
            }
            finally
            {
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
            }
        }
        public void IssueInvoice07_ExternalPayer_CreateInvoice_NoGST_NoSurcharge_NoAddress()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();

                DateTime duedate1       = DateTime.Today.AddDays(30);
                string   SentPgDueDate  = duedate1.ToString("dd MMM yy");
                string   SentPgDueDate1 = duedate1.ToString("dd/MM/yyyy");


                IssueInvoicePg.AddCustomerButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("ExternalNoAddress@" + randnumber1);
                AddCustomerPg.Abn().SendKeys("12345678910");
                AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                AddCustomerPg.ContactEmail().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447");

                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SeleniumSetMethods.WaitOnPage(secdelay3);
                String PaymentTerms = "30 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                bool due = bodyTag.Text.Contains(SentPgDueDate1);

                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Ext-Inv@" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("185.25");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");

                SeleniumSetMethods.WaitOnPage(secdelay2);
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;


                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+anogstbiller has sent you an invoice") && TotalGSTMsg.Contains("(excl. GST)") && TotalValue.Contains("$185.25"));
                IssueInvoicePg.SurchargeCheckbox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Ext-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);

                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void IssueInvoice01_ExternalPayer_CreateInvoice_GST_NoSurcharge()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                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);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.LoginButton().Click();
                SeleniumSetMethods SetMethods = new SeleniumSetMethods(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay8);
                IssueInvoicePage IssueInvoicePg = new IssueInvoicePage(WebDriver);
                IssueInvoicePg.IssueInvoiceButton().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag = WebDriver.FindElement(By.TagName("body"));
                bool        errmsg1 = bodyTag.Text.Contains("For security reasons you must enter either a street address or ABN.");
                bool        errmsg2 = bodyTag.Text.Contains("You must choose a valid business.");
                bool        data1   = bodyTag.Text.Contains("Business Name");
                bool        data2   = bodyTag.Text.Contains("ABN");
                bool        data3   = bodyTag.Text.Contains("Email");
                bool        data4   = bodyTag.Text.Contains("Street");
                bool        data5   = bodyTag.Text.Contains("Suburb");
                bool        data6   = bodyTag.Text.Contains("Postcode");

                bool data8  = bodyTag.Text.Contains("State");
                bool data9  = bodyTag.Text.Contains("Payment Terms");
                bool data10 = bodyTag.Text.Contains("Due Date");
                bool data11 = bodyTag.Text.Contains("PDF Invoice");
                bool data12 = bodyTag.Text.Contains("Subject");
                bool data13 = bodyTag.Text.Contains("Message");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg1 == true && errmsg2 == true && data1 == true && data2 == true && data3 == true && data4 == true && data5 == true && data6 == true && data8 == true && data9 == true && data10 == true && data11 == true && data12 == true && data13 == true);
                IssueInvoicePg.AddCustomerButton().Click();
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Random   rand        = new Random();
                DateTime dt          = new DateTime();
                string   dtString    = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int      randnumber1 = rand.Next();
                bool     data111     = bodyTag.Text.Contains("Business Name");
                bool     data22      = bodyTag.Text.Contains("ABN");
                bool     data33      = bodyTag.Text.Contains("Contact Email");
                bool     data44      = bodyTag.Text.Contains("Street");
                bool     data55      = bodyTag.Text.Contains("Suburb");
                bool     data66      = bodyTag.Text.Contains("Postcode");
                bool     data77      = bodyTag.Text.Contains("Country");
                bool     data88      = bodyTag.Text.Contains("State");
                bool     data99      = bodyTag.Text.Contains("Contact Name");
                bool     data1010    = bodyTag.Text.Contains("Contact Phone Number");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data111 == true && data22 == true && data33 == true && data44 == true && data55 == true && data66 == true && data77 == true && data88 == true && data99 == true && data1010 == true);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("ExternalGST@" + randnumber1);
                AddCustomerPg.Abn().SendKeys("abhushuhuhq");
                AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                AddCustomerPg.ContactEmail().SendKeys("test.com");
                AddCustomerPg.ContactPhoneNumber().SendKeys("12345671447");
                AddCustomerPg.Street().SendKeys("10 Miller Street");
                AddCustomerPg.Suburb().SendKeys("Murarrie");
                AddCustomerPg.Postcode().SendKeys("4172");
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg11 = bodyTag.Text.Contains("The value entered was not a valid 11 digit ABN (numbers and spaces only).");
                bool errmsg22 = bodyTag.Text.Contains("The value needs to be a valid email address, e.g. [email protected]");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg11 == true && errmsg22 == true);
                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("1111111111");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.ContactEmail().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.ContactEmail().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);

                AddCustomerPg.ContactEmail().SendKeys("madcowtesting10+" + randnumber1 + "@gmail.com");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg33 = bodyTag.Text.Contains("Invalid ABN length");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg33 == true);

                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("111111111111");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg44 = bodyTag.Text.Contains("Invalid ABN length");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg44 == true);

                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("11111111111*");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool errmsg55 = bodyTag.Text.Contains("The value entered was not a valid 11 digit ABN (numbers and spaces only).");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(errmsg44 == true);

                AddCustomerPg.Abn().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.Abn().SendKeys("11 111 111 111");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);



                String PaymentTerms = "14 days";
                IssueInvoicePg.PaymentTerms().SendKeys(PaymentTerms);
                IssueInvoicePg.CreateInvoice().Click();
                IssueInvoicePg.InvoiceReferenceCreate().SendKeys("Ext-Inv@" + randnumber1);
                IssueInvoicePg.Description().SendKeys("Test Invoice issued to External Payer");
                IssueInvoicePg.LineItemAmount().SendKeys("185.12");
                IssueInvoicePg.PreviewInvoice().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                var tabs = WebDriver.WindowHandles;
                if (tabs.Count > 1)
                {
                    WebDriver.SwitchTo().Window(tabs[1]);
                    WebDriver.Close();
                    WebDriver.SwitchTo().Window(tabs[0]);
                }
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IssueInvoicePg.Outside().Click();
                IssueInvoicePg.Message().SendKeys("Test invoice has been sent");
                string subject     = IssueInvoicePg.Subject().GetAttribute("value");
                string TotalGSTMsg = IssueInvoicePg.TotalGSTMsg().Text;
                string TotalValue  = IssueInvoicePg.TotalValue().Text;
                SeleniumSetMethods.WaitOnPage(secdelay2);
                Assert.IsTrue(subject.Contains("madcowtesting10+agstbiller has sent you an invoice") && TotalGSTMsg.Contains("(incl. GST)") && TotalValue.Contains("$203.63"));
                IssueInvoicePg.SendInvoiceBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay5);
                SendPg.SearchInvoiceSent().SendKeys("Ext-Inv@" + randnumber1);
                SeleniumSetMethods.WaitOnPage(secdelay2);
                SendPg.BillzyRefResult().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
            }
            finally
            {
                SeleniumSetMethods.WaitOnPage(secdelay2);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay4);
                HomePg.SignOutBTN().Click();
            }
        }
        public void ClientManagement01_TOM()
        {
            HomePage HomePg = new HomePage(WebDriver);

            try
            {
                WebDriver.Manage().Window.Maximize();
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/home");
                LoginPage loginPage = new LoginPage(WebDriver);
                loginPage.UserNameTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().Clear();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.UserNameTextBox().SendKeys("*****@*****.**");
                loginPage.PasswordTextBox().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                loginPage.PasswordTextBox().SendKeys("Cognito1");
                loginPage.LoginButton().Click();
                SeleniumSetMethods   SetMethods = new SeleniumSetMethods(WebDriver);
                ClientManagementPage clientpg   = new ClientManagementPage(WebDriver);
                SeleniumSetMethods.WaitOnPage(secdelay7);
                CardPage CardPg = new CardPage(WebDriver);

                SendPage        SendPg         = new SendPage(WebDriver);
                ReceivedPage    Recpg          = new ReceivedPage(WebDriver);
                BillzyCashModal BillzyCashMlPg = new BillzyCashModal(WebDriver);
                SIVPage         SIVPG1         = new SIVPage(WebDriver);
                HomePg.Profile().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                clientpg.AddCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                IWebElement     bodyTag       = WebDriver.FindElement(By.TagName("body"));
                AddCustomerPage AddCustomerPg = new AddCustomerPage(WebDriver);
                Random          rand          = new Random();
                DateTime        dt            = new DateTime();
                string          dtString      = dt.ToString("MM/dd/yyyy HH:mm:ss");
                int             randnumber1   = rand.Next();

                DateTime duedate1      = DateTime.Today;
                string   SentPgDueDate = duedate1.ToString("yyMMMdd");
                string   today         = duedate1.ToString("dd/MM/yyyy");
                bool     data111       = bodyTag.Text.Contains("Business Name");
                bool     data22        = bodyTag.Text.Contains("ABN");
                bool     data33        = bodyTag.Text.Contains("Contact Email");
                bool     data44        = bodyTag.Text.Contains("Street");
                bool     data55        = bodyTag.Text.Contains("Suburb");
                bool     data66        = bodyTag.Text.Contains("Postcode");
                bool     data77        = bodyTag.Text.Contains("Country");
                bool     data88        = bodyTag.Text.Contains("State");
                bool     data99        = bodyTag.Text.Contains("Contact Name");
                bool     data1010      = bodyTag.Text.Contains("Contact Phone Number");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data111 == true && data22 == true && data33 == true && data44 == true && data55 == true && data66 == true && data77 == true && data88 == true && data99 == true && data1010 == true);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("1X ");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool data12 = bodyTag.Text.Contains("No similar Billzy businesses found.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data12 == true);

                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().Clear();
                AddCustomerPg.BusinessName().SendKeys("1XZ ");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool data13 = bodyTag.Text.Contains("No similar Billzy businesses found.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data13 == true);


                AddCustomerPg.BusinessName().SendKeys("CM01-" + randnumber1);
                AddCustomerPg.Abn().SendKeys("10987654321");
                AddCustomerPg.ContactName().SendKeys("Test@" + randnumber1);
                AddCustomerPg.ContactEmail().SendKeys("madcowtesting10 + " + 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(secdelay3);
                AddCustomerPg.SelectCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.EditCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.EditBusinessName().SendKeys("CM01-" + randnumber1 + "edit");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.SaveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag1 = WebDriver.FindElement(By.TagName("body"));
                bool        edit     = bodyTag1.Text.Contains("CM01-" + randnumber1 + "edit");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(edit == true);
                AddCustomerPg.RemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.ConfirmRemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                clientpg.AddCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay2);
                AddCustomerPg.BusinessName().Click();
                AddCustomerPg.BusinessName().SendKeys("madco");
                SeleniumSetMethods.WaitOnPage(secdelay3);

                IWebElement bodyTag0 = WebDriver.FindElement(By.TagName("body"));
                SeleniumSetMethods.WaitOnPage(secdelay3);
                bool data14 = bodyTag0.Text.Contains("10 similar Billzy businesses found.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(data14 == true);
                AddCustomerPg.SelectCustomerlist().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.AddBTN().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);

                bool billzylogo = clientpg.BillzyLogoIdentifier().Displayed;
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(billzylogo == true);
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.SelectCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.RemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                AddCustomerPg.ConfirmRemoveCustomer().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                //Show TOM score on member settings page
                TOM tompg = new TOM(WebDriver);
                tompg.TOMicon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                IWebElement bodyTag2 = WebDriver.FindElement(By.TagName("body"));
                bool        tom1     = bodyTag2.Text.Contains("TOM (Trust Our Member)");
                bool        tom2     = bodyTag2.Text.Contains("Your TOM score is calculated based on a range of weighted factors, which are measured during your membership.");
                bool        tom3     = bodyTag2.Text.Contains("Interactions with other members, utilising cash flow optimising products billzy Cash or Deal and concluding business within the invoice terms will result in a healthy growth of your TOM score.");
                bool        tom4     = bodyTag2.Text.Contains("A lack of interaction with other members, paying invoices late and infrequent use of invoicing will result in a lower TOM score.");
                bool        tom5     = bodyTag2.Text.Contains("Getting a higher TOM score can mean lower rates for Cash and access to other offers from time to time.");
                bool        tom6     = bodyTag2.Text.Contains("TOM Score");
                bool        tom7     = bodyTag2.Text.Contains("Member Since");
                //string tom8 = tompg.Memnbershipdate().Text;
                //string tom9 = tompg.TOMScore().Text;
                SeleniumSetMethods.WaitOnPage(secdelay3);
                Assert.IsTrue(tom1 == true && tom2 == true && tom3 == true && tom4 == true && tom5 == true && tom6 == true && tom7 == true);
                //Action action = new Action(WebDriver);
                //WebDriver.FindElement(TOMinfoIcon())
                tompg.TOMinfoIcon().Click();
                SeleniumSetMethods.WaitOnPage(secdelay3);
                WebDriver.PageSource.Contains("22/10/2019");
                WebDriver.PageSource.Contains("0/100");
                IWebElement bodyTag3 = WebDriver.FindElement(By.TagName("body"));
                WebDriver.PageSource.Contains("A new member typically starts with a score of 24.");
                WebDriver.PageSource.Contains("As your time as a member increases and you interact with others in the community, your score will increase.");
                WebDriver.PageSource.Contains("A higher score makes other members more likely to do business with you");
                WebDriver.PageSource.Contains("A higher score also gives you access to lower rates for Cash and other special benefits from time to time.");
                WebDriver.PageSource.Contains("Raising invoices and paying them on time increases the score.");
                WebDriver.PageSource.Contains("So does using the billzy cashflow management tools such as paying by card, billzy Deal and billzy Cash.");
                WebDriver.PageSource.Contains("Paying late or raising invoices that do not get paid will lower it.");
                SeleniumSetMethods.WaitOnPage(secdelay3);
                WebDriver.Navigate().GoToUrl("https://demo.billzy.com/received");
                SeleniumSetMethods.WaitOnPage(secdelay2);
                HomePg.SignOutBTN().Click();
            }
            finally
            {
            }
        }