示例#1
0
        //This tests uses the app.config value to pick a manager and change SP to use that salesperson to login.  It then checks user has landed on a manager version of the dashboard page.
        public void ChangeUserToAManagerTest()
        {
            //Setup reporting for this test
            ExtentTest test = MyDriverManager.report.CreateTest("ChangeUserToAManagerTest");

            //Setup Page(s)
            NewDashboardPage        theDashboardPage        = new NewDashboardPage(MyDriverManager.driver);
            NewManagerDashboardPage theManagerDashboardPage = new NewManagerDashboardPage(MyDriverManager.driver);

            //Go to the the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.ManagerUserName());
            theDashboardPage.clickOnChangeTheUserBtn();

            //Check we are on manager version of Dashboard
            theManagerDashboardPage.waitForPageToLoad();


            //Set reporting info
            test.Pass("User successfully changed to manager");
            test.Log(Status.Pass, "ChangeUserToAManagerTest passed");
        }
示例#2
0
        //This tests uses the app.config value to pick a salesperson and change SP to use that salesperson to login
        public void ChangeUserToAStandardUserTest()
        {
            //Setup Page(s)
            NewDashboardPage theDashboardPage = new NewDashboardPage(MyDriverManager.driver);

            //Go to the the intial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();
        }
示例#3
0
        //This test creates a self-approved licence and returns user to dashboard
        public void CreateManagerDeclinedSkillsLicenceTest()
        {
            //Constants
            string customerCompanyName  = "TEST QC CUSTOMER";
            string customerNumber       = "3402211";
            string contactSurname       = "Marshall";
            string customerEmailAddress = "*****@*****.**";
            string quoteValue           = "1000.00";
            string discountValue        = "99";

            //Setup Page(s)
            NewDashboardPage                theDashboardPage          = new NewDashboardPage(MyDriverManager.driver);
            NewGetMyCustomersPage           theGetMyCustomersPage     = new NewGetMyCustomersPage(MyDriverManager.driver);
            NewGetMyCustomerContactsPage    theCustomerContactsPage   = new NewGetMyCustomerContactsPage(MyDriverManager.driver);
            NewGetMyLicencesPage            theGetMyLicencesPage      = new NewGetMyLicencesPage(MyDriverManager.driver);
            NewAlterSkillsLicencePage       theAlterSkillsLicencePage = new NewAlterSkillsLicencePage(MyDriverManager.driver);
            NewManagerApprovalPage          theManagerApprovalPage    = new NewManagerApprovalPage(MyDriverManager.driver);
            NewManagerDashboardPage         theManagerDashboardPage   = new NewManagerDashboardPage(MyDriverManager.driver);
            NewShowManagerSkillsLicencePage theShowManagerSkillsLicencePage
                = new NewShowManagerSkillsLicencePage(MyDriverManager.driver);

            //Go to the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();

            //Get Initial Declined Skills Licence Count
            string declinedCountSL     = theDashboardPage.getDeclinedCount_SL();
            int    declinedCountSL_int = int.Parse(declinedCountSL);


            //Create Skill Licence
            theDashboardPage.clickOnCreateSkillsLicenceButton();

            //Select customer
            theGetMyCustomersPage.waitForPageToLoad();
            theGetMyCustomersPage.populateCustomerSearchBox(customerCompanyName);
            theGetMyCustomersPage.selectCustomerByNumber(customerNumber);

            //Select contact
            theCustomerContactsPage.waitForPageToLoad();
            theCustomerContactsPage.clickOnBothButton();
            theCustomerContactsPage.populateContactsSearchBox(contactSurname);
            theCustomerContactsPage.selectCustomerEmail(customerEmailAddress);

            //Select licence template
            theGetMyLicencesPage.waitForPageToLoad();
            theGetMyLicencesPage.clickOnBankTemplate();

            //Enter quote details
            theAlterSkillsLicencePage.waitForPageToLoad();
            theAlterSkillsLicencePage.populateQuoteATextBox(quoteValue);
            theAlterSkillsLicencePage.enterAmazonAsVendor();
            Assert.IsTrue(theAlterSkillsLicencePage.isTechTypeAmazonSpecialistDisplayed(), "Tech Type Specialist not displayed for vendor Amazon");

            //Enter a discount and check for hierarchy warning text
            theAlterSkillsLicencePage.enterDiscountForAmazonQuoteA(discountValue);
            string warningText = theAlterSkillsLicencePage.getHierarchyWarningText();

            Assert.IsTrue(warningText.Equals("Over Sales Director"), warningText + " does NOT equal 'Over Sales Director'");
            theAlterSkillsLicencePage.clickOnSaveAndSendButton();

            //Select manager and send for approval
            theManagerApprovalPage.waitForPageToLoad();
            theManagerApprovalPage.selectAnotherManager(ConfigurationWrapper.ManagerFullName());
            theManagerApprovalPage.clickOnSubmitForManagerApprovalButton();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User to manager
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.ManagerUserName());
            theDashboardPage.clickOnChangeTheUserBtn();

            //Check contact in manager dashboard page
            theManagerDashboardPage.waitForPageToLoad();
            string contactName = theManagerDashboardPage.getContactText();

            Assert.IsTrue(contactName.Contains(ConfigurationWrapper.ContactUserName()), contactName + " does NOT contain contact's username");
            theManagerDashboardPage.clickOnSkillsLicenceContact();

            //Decline the SKills Licence via Manager Dashboard Page
            theShowManagerSkillsLicencePage.waitForPageToLoad();
            theShowManagerSkillsLicencePage.clickOnDeclineSkillsLicenceButton();


            // Set User back to salesperson
            theManagerDashboardPage.waitForPageToLoad();
            theManagerDashboardPage.clickOnUserCircle();
            theManagerDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theManagerDashboardPage.clickOnChangeTheUserButton();

            theDashboardPage.waitForDashboardPageToLoad();


            // Check Declined Skills Licence Count increased by 1
            int expectedValue_int          = declinedCountSL_int + 1;
            int updatedDeclinedCountSL_int = int.Parse(theDashboardPage.getDeclinedCount_SL());

            Assert.IsTrue(updatedDeclinedCountSL_int == expectedValue_int,
                          "Expected declinedCountSL= " + expectedValue_int + " actually got " + updatedDeclinedCountSL_int);
        }
示例#4
0
        //This test creates a self-approved licence and returns user to dashboard
        public void CreateDraftSkillsLicenceSmokeTest()
        {
            //Constants
            string customerCompanyName  = "TEST QC CUSTOMER";
            string customerNumber       = "3402211";
            string contactSurname       = "Marshall";
            string customerEmailAddress = "*****@*****.**";
            string quoteValue           = "1000.00";


            //Setup Page(s)
            NewDashboardPage             theDashboardPage            = new NewDashboardPage(MyDriverManager.driver);
            NewGetMyCustomersPage        theGetMyCustomersPage       = new NewGetMyCustomersPage(MyDriverManager.driver);
            NewGetMyCustomerContactsPage theGetMyCustomerContactPage = new NewGetMyCustomerContactsPage(MyDriverManager.driver);
            NewGetMyLicencesPage         theGetMyLicencesPage        = new NewGetMyLicencesPage(MyDriverManager.driver);
            NewAlterSkillsLicencePage    theAlterSkillsLicencePage   = new NewAlterSkillsLicencePage(MyDriverManager.driver);
            NewSendToCustomerPage        theSendToCustomerPage       = new NewSendToCustomerPage(MyDriverManager.driver);

            //Go to the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();

            //Get Initial Draft Skills Licence Count
            string draftCountSL     = theDashboardPage.getDraftCount_SL();
            int    draftCountSL_int = int.Parse(draftCountSL);


            //Select Skills Licence
            theDashboardPage.clickOnCreateSkillsLicenceButton();

            //Select Customer
            theGetMyCustomersPage.waitForPageToLoad();
            theGetMyCustomersPage.populateCustomerSearchBox(customerCompanyName);
            theGetMyCustomersPage.selectCustomerByNumber(customerNumber);

            //Select Contact
            theGetMyCustomerContactPage.waitForPageToLoad();
            theGetMyCustomerContactPage.clickOnBothButton();
            theGetMyCustomerContactPage.populateContactsSearchBox(contactSurname);
            theGetMyCustomerContactPage.selectCustomerEmail(customerEmailAddress);

            //Select licence
            theGetMyLicencesPage.waitForPageToLoad();
            theGetMyLicencesPage.clickOnBankTemplate();

            //Enter Quote Details
            theAlterSkillsLicencePage.waitForPageToLoad();
            theAlterSkillsLicencePage.populateQuoteATextBox(quoteValue);
            theAlterSkillsLicencePage.enterAmazonAsVendor();
            Assert.IsTrue(theAlterSkillsLicencePage.isTechTypeAmazonSpecialistDisplayed(), "Tech Type Specialist not displayed for vendor Amazon");

            //Save Skills Licence as a Draft
            theAlterSkillsLicencePage.clickOnSaveDraftButton();
            theDashboardPage.waitForDashboardPageToLoad();

            // Check Draft Skills Licence Count increased by 1
            int expectedValue_int       = draftCountSL_int + 1;
            int updatedDraftCountSL_int = int.Parse(theDashboardPage.getDraftCount_SL());

            Assert.IsTrue(updatedDraftCountSL_int == expectedValue_int,
                          "Expected draftCountSL= " + expectedValue_int + " actually got " + updatedDraftCountSL_int);
        }
        //This test creates a self-approved licence and sends via Echosign
        public void SendApprovedLicenceViaEchosignTest()
        {
            //Constants
            string customerCompanyName  = "TEST QC CUSTOMER";
            string customerNumber       = "3402211";
            string contactSurname       = "Marshall";
            string customerEmailAddress = "*****@*****.**";
            string quoteValue           = "1000.00";


            //Setup Page(s)
            NewDashboardPage             theDashboardPage            = new NewDashboardPage(MyDriverManager.driver);
            NewGetMyCustomersPage        theGetMyCustomersPage       = new NewGetMyCustomersPage(MyDriverManager.driver);
            NewGetMyCustomerContactsPage theGetMyCustomerContactPage = new NewGetMyCustomerContactsPage(MyDriverManager.driver);
            NewGetMyLicencesPage         theGetMyLicencesPage        = new NewGetMyLicencesPage(MyDriverManager.driver);
            NewAlterSkillsLicencePage    theAlterSkillsLicencePage   = new NewAlterSkillsLicencePage(MyDriverManager.driver);
            NewSendToCustomerPage        theSendToCustomerPage       = new NewSendToCustomerPage(MyDriverManager.driver);

            //Go to the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();

            //Get Initial With Customer Skills Licence Count
            string withCustomerCountSL     = theDashboardPage.getWithCustomerCount_SL();
            int    withCustomerCountSL_int = int.Parse(withCustomerCountSL);

            //Select Skills Licence
            theDashboardPage.clickOnCreateSkillsLicenceButton();

            //Select Customer
            theGetMyCustomersPage.waitForPageToLoad();
            theGetMyCustomersPage.populateCustomerSearchBox(customerCompanyName);
            theGetMyCustomersPage.selectCustomerByNumber(customerNumber);

            //Select Contact
            theGetMyCustomerContactPage.waitForPageToLoad();
            theGetMyCustomerContactPage.clickOnBothButton();
            theGetMyCustomerContactPage.populateContactsSearchBox(contactSurname);
            theGetMyCustomerContactPage.selectCustomerEmail(customerEmailAddress);

            //Select licence
            theGetMyLicencesPage.waitForPageToLoad();
            theGetMyLicencesPage.clickOnBankTemplate();

            //Enter quote details
            theAlterSkillsLicencePage.waitForPageToLoad();
            theAlterSkillsLicencePage.populateQuoteATextBox(quoteValue);
            theAlterSkillsLicencePage.enterAmazonAsVendor();
            Assert.IsTrue(theAlterSkillsLicencePage.isTechTypeAmazonSpecialistDisplayed(), "Tech Type Specialist not displayed for vendor Amazon");

            theAlterSkillsLicencePage.clickOnSaveAndSendButton();

            //Send Skills Licence to customer via Echosign
            theSendToCustomerPage.waitForPageToLoadSkillsLicence();
            theSendToCustomerPage.clickOnSendUsingAdobeSignButton();
            Assert.IsTrue(theSendToCustomerPage.getsubHeadingAdobeText().Equals("ADOBE SIGN"), "Portal Subheading does NOT equal 'ADOBE SIGN' ");
            theSendToCustomerPage.clickOnAdobeCheckBoxQuoteA();
            theSendToCustomerPage.clickOnSendtoCustomerButton_Adobe();;

            theDashboardPage.waitForDashboardPageToLoad();

            // Check WithCustomer Count increased by 1
            int expectedValue_int = withCustomerCountSL_int + 1;
            int updatedWithCustomerCountSL_int = int.Parse(theDashboardPage.getWithCustomerCount_SL());

            Assert.IsTrue(updatedWithCustomerCountSL_int == expectedValue_int,
                          "Expected withCustomerCountSL= " + expectedValue_int + " actually got " + updatedWithCustomerCountSL_int);
        }
示例#6
0
        //This test clicks dashboard approved then hit save into baps area, select quote A and save into BAPS.  Checks user returned to dashboard.
        public void SendApprovedQuotesViaBAPS()
        {
            //Constants
            string customerCompanyName  = "TEST QC CUSTOMER";
            string customerNumber       = "3402211";
            string contactSurname       = "Marshall";
            string customerEmailAddress = "*****@*****.**";
            string quoteValue           = "1000.00";

            //Setup Page(s)
            NewDashboardPage             theDashboardPage          = new NewDashboardPage(MyDriverManager.driver);
            NewGetMyCustomersPage        theGetMyCustomersPage     = new NewGetMyCustomersPage(MyDriverManager.driver);
            NewGetMyCustomerContactsPage theCustomerContactsPage   = new NewGetMyCustomerContactsPage(MyDriverManager.driver);
            NewGetMyLicencesPage         theGetMyLicencesPage      = new NewGetMyLicencesPage(MyDriverManager.driver);
            NewAlterSkillsLicencePage    theAlterSkillsLicencePage = new NewAlterSkillsLicencePage(MyDriverManager.driver);
            NewSendToCustomerPage        theSendtoCustomerPage     = new NewSendToCustomerPage(MyDriverManager.driver);


            //Go to the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();

            //Get Initial Booking Provisional Skills Licence Count
            string provisionalCountSL     = theDashboardPage.getBookingProvisional_SL();
            int    provisionalCountSL_int = int.Parse(provisionalCountSL);

            //Select Skills Licence.
            theDashboardPage.clickOnCreateSkillsLicenceButton();

            //Select customer
            theGetMyCustomersPage.waitForPageToLoad();
            theGetMyCustomersPage.populateCustomerSearchBox(customerCompanyName);
            theGetMyCustomersPage.selectCustomerByNumber(customerNumber);

            //Select contact
            theCustomerContactsPage.waitForPageToLoad();
            theCustomerContactsPage.clickOnBothButton();
            theCustomerContactsPage.populateContactsSearchBox(contactSurname);
            theCustomerContactsPage.selectCustomerEmail(customerEmailAddress);

            //Select licence template
            theGetMyLicencesPage.waitForPageToLoad();
            theGetMyLicencesPage.clickOnBankTemplate();

            //Enter quote details
            theAlterSkillsLicencePage.waitForPageToLoad();
            theAlterSkillsLicencePage.populateQuoteATextBox(quoteValue);
            theAlterSkillsLicencePage.enterAmazonAsVendor();
            Assert.IsTrue(theAlterSkillsLicencePage.isTechTypeAmazonSpecialistDisplayed(), "Tech Type Specialist not displayed for vendor Amazon");
            theAlterSkillsLicencePage.clickOnSaveAndSendButton();

            //Create skills licence in BAPs
            theSendtoCustomerPage.waitForPageToLoadSkillsLicence();
            theSendtoCustomerPage.clickOnSkillsLicenceCreateInBAPSbutton();
            Assert.IsTrue(theSendtoCustomerPage.getsubHeadingBAPS_SLText().Equals("BAPS"), "BAPS Subheading does NOT equal 'BAPS' ");

            theSendtoCustomerPage.clickOnBapsCheckBoxQuoteA();
            theSendtoCustomerPage.clickOnSendtoCustomerButton_BAPS();

            theDashboardPage.waitForDashboardPageToLoad();


            // Check Provisional Skills Licence Count increased by 1
            int expectedValue_int             = provisionalCountSL_int + 1;
            int updatedProvisionalCountSL_int = int.Parse(theDashboardPage.getBookingProvisional_SL());

            Assert.IsTrue(updatedProvisionalCountSL_int == expectedValue_int,
                          "Expected provisionalCountSL= " + expectedValue_int + " actually got " + updatedProvisionalCountSL_int);
        }
示例#7
0
        //This test creates a self-approved licence and returns user to dashboard
        public void CreateAdvancedCustomerPricingQuoteViaPortalSmokeTest()
        {
            //Setup reporting for this test
            ExtentTest test = MyDriverManager.report.CreateTest("CreateAdvancedCustomerPricingQuoteViaPortalSmokeTest");

            //Constants
            string customerCompanyName  = "TEST QC CUSTOMER";
            string customerNumber       = "3402211";
            string contactSurname       = "Marshall";
            string customerEmailAddress = "*****@*****.**";


            //Setup Page(s)
            NewDashboardPage             theDashboardPage            = new NewDashboardPage(MyDriverManager.driver);
            NewGetMyCustomersPage        theGetMyCustomersPage       = new NewGetMyCustomersPage(MyDriverManager.driver);
            NewGetMyCustomerContactsPage theGetMyCustomerContactPage = new NewGetMyCustomerContactsPage(MyDriverManager.driver);
            NewGetMyLicencesPage         theGetMyLicencesPage        = new NewGetMyLicencesPage(MyDriverManager.driver);
            NewAlterSkillsLicencePage    theAlterSkillsLicencePage   = new NewAlterSkillsLicencePage(MyDriverManager.driver);
            NewSendToCustomerPage        theSendToCustomerPage       = new NewSendToCustomerPage(MyDriverManager.driver);

            //Go to the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();

            //Get Initial Approved ACP Count
            string approvedCountACP     = theDashboardPage.getApprovedCount_ACP();
            int    approvedCountACP_int = int.Parse(approvedCountACP);

            //Select ACP
            theDashboardPage.clickOnManageCustomerContractPricingButton();

            //Select Customer
            theGetMyCustomersPage.waitForPageToLoad();
            theGetMyCustomersPage.populateCustomerSearchBox(customerCompanyName);
            theGetMyCustomersPage.selectCustomerByNumber(customerNumber);

            //Select Contact
            theGetMyCustomerContactPage.waitForPageToLoad();
            theGetMyCustomerContactPage.clickOnBothButton();
            theGetMyCustomerContactPage.populateContactsSearchBox(contactSurname);
            theGetMyCustomerContactPage.selectCustomerEmail(customerEmailAddress);

            //Select licence
            theGetMyLicencesPage.waitForPageToLoad();
            theGetMyLicencesPage.clickOnManageExistingACP();

            theAlterSkillsLicencePage.waitForPageToLoad();

            //Check correct text displayed for New Customer Check Box for both ticked and unticked conditions
            string actualTickBoxUntickedText = theAlterSkillsLicencePage.getNewCustomerCheckBoxUntickedText();

            try
            {
                Assert.IsTrue(actualTickBoxUntickedText.Equals("Additional discounts for being a new customer not applied"),
                              actualTickBoxUntickedText + " does NOT equal 'Additional discounts for being a new customer not applied'");
            }
            catch (Exception e)
            {
                //Set reporting info
                test.Fail("Tickbox unticked text does NOT equal 'Additional discounts for being a new customer not applied");
                test.Log(Status.Fail, "CreateAdvancedCustomerPricingQuoteViaPortalSmokeTest Failed");
                throw;
            }


            theAlterSkillsLicencePage.clickOnNewCustomerCheckboxUnticked();
            theAlterSkillsLicencePage.clickOnYesToNewCustomerDiscountsPopUp();

            string actualTickBoxTickedText = theAlterSkillsLicencePage.getNewCustomerCheckBoxTickedText();

            Assert.IsTrue(actualTickBoxTickedText.Equals("Additional discounts for being a new customer applied"),
                          actualTickBoxTickedText + " does NOT equal 'Additional discounts for being a new customer applied'");


            //Enter ACP Details
            theAlterSkillsLicencePage.enterAmazonAsVendor();
            Assert.IsTrue(theAlterSkillsLicencePage.isTechTypeAmazonSpecialistDisplayed(), "Tech Type Specialist not displayed for vendor Amazon");
            theAlterSkillsLicencePage.clickOnSaveAndSendButton();

            //Send ACP to customer via Portal
            theSendToCustomerPage.waitForPageToLoadacp();
            theSendToCustomerPage.clickOnSendUsingPortalButton();
            Assert.IsTrue(theSendToCustomerPage.getsubHeadingPortalText().Equals("PORTAL"), "Portal Subheading does NOT equal 'Portal' ");
            theSendToCustomerPage.clickOnSendtoCustomerButton_Portal();

            theDashboardPage.waitForDashboardPageToLoad();

            //Check Approved ACP Count increased by 1
            int expectedValue_int           = approvedCountACP_int + 1;
            int updatedApprovedCountACP_int = int.Parse(theDashboardPage.getApprovedCount_ACP());

            Assert.IsTrue(updatedApprovedCountACP_int == expectedValue_int,
                          "Expected ApprovedCountACP= " + expectedValue_int + " actually got " + updatedApprovedCountACP_int);

            //Set reporting info
            test.Pass("ACP successfully created via portal");
            test.Log(Status.Pass, "CreateAdvancedCustomerPricingQuoteViaPortalSmokeTest passed");
        }
示例#8
0
文件: DummyTest.cs 项目: Iona777/QA2
        public void DummyMethodTest()
        {
            //Constants
            string customerCompanyName  = "TEST QC CUSTOMER";
            string customerNumber       = "3402211";
            string contactSurname       = "Marshall";
            string customerEmailAddress = "*****@*****.**";
            string quoteValue           = "1000.00";


            //Setup Page(s)
            NewDashboardPage             theDashboardPage          = new NewDashboardPage(MyDriverManager.driver);
            NewGetMyCustomersPage        theGetMyCustumersPage     = new NewGetMyCustomersPage(MyDriverManager.driver);
            NewGetMyCustomerContactsPage theContactsPAge           = new NewGetMyCustomerContactsPage(MyDriverManager.driver);
            NewGetMyLicencesPage         theSkillLicencePage       = new NewGetMyLicencesPage(MyDriverManager.driver);
            NewAlterSkillsLicencePage    theAlterSkillsLicensePage = new NewAlterSkillsLicencePage(MyDriverManager.driver);
            NewSendToCustomerPage        theSendPAge = new NewSendToCustomerPage(MyDriverManager.driver);


            //Go to the initial page
            MyDriverManager.goToDashboardPage();
            theDashboardPage.waitForDashboardPageToLoad();

            //Set User
            theDashboardPage.clickOnUserCircle();
            theDashboardPage.populateUserFreeTextBox(ConfigurationWrapper.SalespersonUserName());
            theDashboardPage.clickOnChangeTheUserBtn();
            theDashboardPage.waitForDashboardPageToLoad();

            //Get Initial Approved Skills Licence Count
            string appCountSL     = theDashboardPage.getApprovedCount_SL();
            int    appCountSL_int = int.Parse(appCountSL);

            //Select Skills Licence
            theDashboardPage.clickOnCreateSkillsLicenceButton();



            //Select customer
            theGetMyCustumersPage.waitForPageToLoad();
            theGetMyCustumersPage.populateCustomerSearchBox(customerCompanyName);
            theGetMyCustumersPage.selectCustomerByNumber(customerNumber);

            //Select Contact
            theContactsPAge.waitForPageToLoad();
            theContactsPAge.clickOnBothButton();
            theContactsPAge.populateContactsSearchBox(contactSurname);
            theContactsPAge.selectCustomerEmail(customerEmailAddress);

            //Select licence
            theSkillLicencePage.waitForPageToLoad();
            theSkillLicencePage.clickOnBankTemplate();


            //Enter quote details
            theAlterSkillsLicensePage.waitForPageToLoad();
            theAlterSkillsLicensePage.populateQuoteATextBox(quoteValue);
            theAlterSkillsLicensePage.enterAmazonAsVendor();
            Assert.IsTrue(theAlterSkillsLicensePage.isTechTypeAmazonSpecialistDisplayed(), "Tech Type Specialist not displayed for vendor Amazon");

            theAlterSkillsLicensePage.clickOnSaveAndSendButton();

            //Send Skills Licence to customer via Portal
            theSendPAge.waitForPageToLoadacp();
            theSendPAge.clickOnSendUsingPortalButton();
            Assert.IsTrue(theSendPAge.getsubHeadingPortalText().Equals("PORTAL"));

            theSendPAge.clickOnSendtoCustomerButton_Portal();



            // Check approvedSL Count increased by 1
            int expectedValue_int          = approvedCountSL_int + 1;
            int updatedApprovedCountSL_int = int.Parse(theDashboardPage.getApprovedCount_SL());

            Assert.IsTrue(updatedApprovedCountSL_int == expectedValue_int,
                          "Expected approvedCountSL= " + expectedValue_int + " actually got " + updatedApprovedCountSL_int);
        }