Beispiel #1
0
        public static VehicleEntryPage YesMoreVehicle(this AddAnotherVehiclePage addAnotherVehiclePage)
        {
            ParameterValidator.ValidateNotNull(addAnotherVehiclePage, "AddAnotherVehicle");
            // Select decision when prompted to add more vehicle
            addAnotherVehiclePage.SelectAddMoreVehicleButton(AnswerOption.Yes);
            // Select Next Button
            VehicleEntryPage vinEntryPage = addAnotherVehiclePage.SelectNextButton <VehicleEntryPage>();

            //Verification
            vinEntryPage.ValidateVehicleEntryPageDisplayed();
            return(vinEntryPage);
        }
Beispiel #2
0
        public static DriverEnterPage NoMoreVehicle(this AddAnotherVehiclePage addAnotherVehiclePage)
        {
            ParameterValidator.ValidateNotNull(addAnotherVehiclePage, "addAnotherVehiclePage");

            // Select decsion when prompted to add more vehicle
            addAnotherVehiclePage.SelectAddMoreVehicleButton(AnswerOption.No);
            // Select next button
            DriverEnterPage driverEnterPage = addAnotherVehiclePage.SelectNextButton <DriverEnterPage>();

            //Verification
            driverEnterPage.ValidateDriverEnterPageDisplayed();
            return(driverEnterPage);
        }
Beispiel #3
0
        public static T NoMoreVehicle <T>(this AddAnotherVehiclePage addAnotherVehiclePage) where T : BasePage
        {
            ParameterValidator.ValidateNotNull(addAnotherVehiclePage, "AddAnotherVehiclePage");

            // Select decsion when prompted to add more vehicle
            addAnotherVehiclePage.SelectAddMoreVehicleButton(AnswerOption.No);
            // Select next button
            dynamic currentPage = addAnotherVehiclePage.SelectNextButton <T>();

            if (typeof(T) == typeof(VehicleOverviewPage))
            {
                //verification
                currentPage.ValidateOverViewPageDisplayed();
            }
            else
            {
                //verification
                currentPage.ValidateDriverEnterPageDisPlayed();
            }
            return(currentPage);
        }
Beispiel #4
0
        public static DriverEnterPage AddVehicles(this VehicleEntryPage vinEntryPage, VehicleInformation[] vehicleList)
        {
            ParameterValidator.ValidateNotNull(vehicleList, "Vehicle List");

            AddAnotherVehiclePage addAnotherVehiclePage = new AddAnotherVehiclePage();

            for (int i = 0; i < vehicleList.Length; i++)
            {
                //7. Add vehicle
                vinEntryPage.AddVehicle(vehicleList[i]);
                if (i != vehicleList.Length - 1)
                {
                    //8. Yes more vehicle
                    addAnotherVehiclePage.YesMoreVehicle();
                }
                else
                {
                    //8. No more vehicle
                    addAnotherVehiclePage.NoMoreVehicle();
                }
            }
            return(new DriverEnterPage());
        }
Beispiel #5
0
        public void UI_EditQuote_Edit_Coverages_Add_Additional_Coverages_Edit_Additional_Coverages(int number, EditQuoteEditCoveragesInformation testData)
        {
            ParameterValidator.ValidateNotNull(testData, "Test Item");

            //1. Navigate to Home page.
            LoginPage loginPage = OpenBreezeApplication();

            //2. Login to Welcome Page
            WelcomePage welcomePage = loginPage.Login();

            //3. Start New Submision
            BusinessClassificationPage businessClassificationPage = welcomePage.StartNewSubmission();

            //4. Get quoteID to be used in subsequent steps
            string quoteId = businessClassificationPage.GetQuoteId();

            //5. Enter business information
            EffectiveDatePage effectiveDatePage = businessClassificationPage.EnterBusinessInformation(testData.BusinessClassification);

            //6. Enter customer information
            VehicleInfoPage vehicleInfoPage = effectiveDatePage.EnterCustomerInformation(testData.CustomerInformation);

            //7. Enter policy level vehicle info
            VehicleEntryPage vehicleEntryPage = vehicleInfoPage.EnterPolicyLevelVehicleInfo <VehicleEntryPage>(testData.PolicyLevelVehicleInformation);

            //8. Add first vehicle
            AddAnotherVehiclePage addAnotherVehiclePage = vehicleEntryPage.AddVehicle(testData.VehicleInfo1);

            //9. No more vehicles
            DriverEnterPage driverEnterPage = addAnotherVehiclePage.NoMoreVehicle();

            //10. Add first driver (PO) - invalid MVR
            AddAnotherDriverPage addAnotherDriverPage = driverEnterPage.AddDriver(testData.DriverInfo1);

            //11. No more drivers
            CoveragesPage coveragesPage = addAnotherDriverPage.NoMoreDriver();

            //12. Use default coverages
            AdditionalCoveragesPage additionalCoveragesPage = coveragesPage.UseDefaultCoverages();

            //13. Select Additional Coverages
            SummaryPage summaryPage = additionalCoveragesPage.SelectAdditionalCoverages <SummaryPage>(testData.DefaultAdditionalCoverages);

            //14. Select Close
            summaryPage.SelectCloseButton();
            // Verification
            welcomePage.ValidateWelcomePageDisplayed();

            //15. Open quote using the quoteID captured in step 4
            welcomePage.ResumeQuote <SummaryPage>(EnvironmentSetting.WebUrl, quoteId);
            // Verification
            summaryPage.ValidateSummaryPageDisplayed();

            //16. Select coverages in the left navigation
            summaryPage.SelectMenuLink <CoveragesPage>(LeftNavigationHeader.Coverage);
            // Verification
            coveragesPage.ValidateCoveragesPageDisplayed()
            .ValidateAdditionalCoveragesSectionDisplayed()
            .ValidateAdditionalCoveragesEditButtonDisplayed();

            //17. Change coverages
            coveragesPage.SelectCoverageLimits(testData.CoverageLimits);
            // Verification
            coveragesPage.ValidatePremiumsNoLongerShown();

            //18. Select Calculate button
            coveragesPage.SelectCalculateButton();
            // Verification
            coveragesPage.ValidateTotalPremiumRecalculatedAndDisplayed();

            //19. Add Additional coverage from Coverage screen with no prior additional coverage
            coveragesPage.AddAdditionalCoverageFromCoverageScreenWithNoPriorAdditionalCoverage(testData.DefaultCoverageSections, testData.DefaultAdditionalCoveragesList);

            //20. Select Additional Interests and Cargo, Select Next
            AdditionalInterestCountsPage additionalInterestCountsPage = additionalCoveragesPage.SelectAdditionalCoverages <AdditionalInterestCountsPage>(testData.AdditionalCoverages, true);

            //21. Enter @AddInterests, Select Next
            CargoLimitDeductiblePage cargoLimitDeductiblePage = additionalInterestCountsPage.EnterAdditionalInterestCounts <CargoLimitDeductiblePage>(testData.AdditionalCoverages, true);

            //22. Make @CargoInfo selections
            AdditionalCoveragesOverviewPage additionalCoveragesOverviewPage = cargoLimitDeductiblePage.EnterCargoInformation <AdditionalCoveragesOverviewPage>(testData.AdditionalCoverages, true);

            // Verification
            additionalCoveragesOverviewPage.ValidateAdditionalCoverageDisplayed(AdditionalCoveragesType.AdditionalInterests)
            .ValidateAdditionalCoverageDisplayed(AdditionalCoveragesType.Cargo)
            .ValidateAdditionalInterestsCoverageDisplayedCorrectly(testData.AdditionalCoverages.AdditionalInterests)
            .ValidateCargoCoverageDisplayedCorrectly(testData.AdditionalCoverages.Cargo)
            .ValidateEditButtonDisplayed(AdditionalCoveragesType.AdditionalInterests)
            .ValidateDeleteButtonDisplayed(AdditionalCoveragesType.AdditionalInterests)
            .ValidateEditButtonDisplayed(AdditionalCoveragesType.Cargo)
            .ValidateDeleteButtonDisplayed(AdditionalCoveragesType.Cargo)
            .ValidateAdditionalCoveragePremiumDisplayed(AdditionalCoveragesType.AdditionalInterests)
            .ValidateAdditionalCoveragePremiumDisplayed(AdditionalCoveragesType.Cargo);

            //23. Select Coverages from the left navigation
            additionalCoveragesOverviewPage.SelectMenuLink <CoveragesPage>(LeftNavigationHeader.Coverage);
            // Verification
            coveragesPage.ValidateCoveragesPageDisplayed()
            .ValidatePreviousCoveragesListed(testData.CoverageLimits)
            .ValidatePremiumInLeftNavigationMatchesCoveragesScreen();

            //24. Select Edit button of Additional Coverages section
            coveragesPage.SelectEditAdditionalCoveragesIcon();
            // Verification
            additionalCoveragesOverviewPage.ValidateAdditionalCoveragesOverviewPageDisplayed()
            .ValidateAdditionalCoverageDisplayed(AdditionalCoveragesType.AdditionalInterests)
            .ValidateAdditionalCoverageDisplayed(AdditionalCoveragesType.Cargo);

            //25. Click Delete button for Cargo
            additionalCoveragesOverviewPage.SelectDeleteIcon(AdditionalCoveragesType.Cargo);
            // Verification
            additionalCoveragesOverviewPage.ValidateDialogContentDisplayedCorrectly(testData.DialogContent);

            //26. Select yes
            additionalCoveragesOverviewPage.ConfirmDeleteAdditionalCoverage(AdditionalCoveragesType.Cargo);
            // Verification
            additionalCoveragesOverviewPage.ValidateAdditionalCoverageDisplayed(AdditionalCoveragesType.AdditionalInterests)
            .ValidateAdditionalCoverageNotDisplayed(AdditionalCoveragesType.Cargo)
            .ValidateAddAdditionalCoveragesButtonDisplayed()
            .ValidateCoverageSummaryButtonDisplayed();

            //27. Select Add Additional Coverages button
            additionalCoveragesOverviewPage.SelectAddAdditionalCoveragesButton();
            // Verification
            additionalCoveragesPage.ValidateAdditionalCoveragesPageDisplayed()
            .ValidateAdditionalCoveragesListed(testData.ExpectedAdditionalCoverages)
            .ValidateAdditionalCoveragesNotListed(testData.UnexpectedAdditionalCoverages);

            //28.1 Select Trailer Interchange and click Next
            TrailerInterchangePage trailerInterchangePage = additionalCoveragesPage.SelectAdditionalCoverages <TrailerInterchangePage>(testData.AdditionalCoveragesChange);

            //28.2 Finish Trailer Interchange coverage info
            trailerInterchangePage.EnterTrailerInterchange <AdditionalCoveragesOverviewPage>(testData.AdditionalCoveragesChange, true);

            //29. Inspect page contents
            additionalCoveragesOverviewPage.ValidatePremiumInLeftNavigationMatchesAdditionalCoveragesOverviewScreen();
        }
Beispiel #6
0
        public void UI_CreateQuote_Happy_Path_IN()
        {
            //Given
            //Prepare test data
            CreateQuoteHappyPathINTestData quoteTestData = new CreateQuoteHappyPathINTestData();

            //1. Navigate to Home page.
            LoginPage loginPage = OpenBreezeApplication();

            //2. Login to Welcome Page
            WelcomePage welcomePage = loginPage.Login();

            //3. Start New Submision
            BusinessClassificationPage businessClassificationPage = welcomePage.StartNewSubmission();

            //4. Enter business information
            EffectiveDatePage effectiveDatePage = businessClassificationPage.EnterBusinessInformation(quoteTestData.BusinessClassification);

            //5. Enter customer information
            VehicleInfoPage vehicleInfoPage = effectiveDatePage.EnterCustomerInformation(quoteTestData.CustomerInformation);

            //6. Enter policy level vehicle info
            VehicleEntryPage vehicleEntryPage = vehicleInfoPage.EnterPolicyLevelVehicleInfo <VehicleEntryPage>(quoteTestData.PolicyLevelVehicleInformation);

            //7. Add first vehicle
            AddAnotherVehiclePage addAnotherVehiclePage = vehicleEntryPage.AddVehicle(quoteTestData.VehicleInfo);

            //8. No more vehicle
            DriverEnterPage driverEnterPage = addAnotherVehiclePage.NoMoreVehicle();

            //9. Add first driver (PO) - Invalid MVR
            AddAnotherDriverPage addAnotherDriverPage = driverEnterPage.AddDriver <AddAnotherDriverPage>(quoteTestData.DriverInfo);

            //10. No more driver
            CoveragesPage coveragesPage = addAnotherDriverPage.NoMoreDriver();

            // Verification
            coveragesPage.ValidateControlDisplayed(CoverageLimitsType.UMDeductible, WebControl.Dropdown)
            .ValidateControlDisplayedCorrectly(CoverageLimitsType.UMLimitType, WebControl.Dropdown, quoteTestData.DefaultUMLimitType);

            //11. Select None for UM deductible then click Calculate
            coveragesPage.SelectCoverageLimit(CoverageLimitsType.UMDeductible, quoteTestData.CoverageLimits1.UMDeductible)
            .SelectCalculateButton();
            // Verification
            coveragesPage.ValidateTotalPremiumRecalculatedAndDisplayed();

            //12. Select UM Deductible $300 then click Calculate
            coveragesPage.SelectCoverageLimit(CoverageLimitsType.UMDeductible, quoteTestData.CoverageLimits2.UMDeductible)
            .SelectCalculateButton();
            // Verification
            coveragesPage.ValidateTotalPremiumRecalculatedAndDisplayed();

            //13. Select UM CSL BI Only
            coveragesPage.SelectCoverageLimit(CoverageLimitsType.UMLimitType, quoteTestData.CoverageLimits1.UMLimitType);
            // Verification
            coveragesPage.ValidateControlNotDisplayed(CoverageLimitsType.UMDeductible, WebControl.Dropdown);

            //14. Select Caculate button
            coveragesPage.SelectCalculateButton();
            // Verification
            coveragesPage.ValidateTotalPremiumRecalculatedAndDisplayed();

            //15. Select UM Split BIPD
            coveragesPage.SelectCoverageLimit(CoverageLimitsType.UMLimitType, quoteTestData.CoverageLimits2.UMLimitType);
            // Verification
            coveragesPage.ValidateControlDisplayed(CoverageLimitsType.UMDeductible, WebControl.Dropdown);

            //16. Select UM Limit, Deductible
            coveragesPage.SelectCoverageLimits(quoteTestData.CoverageLimits2);
            // Verification
            coveragesPage.ValidateCalculateButtonDisplayed();
        }
Beispiel #7
0
        public static SummaryPage CreateQuote(this WelcomePage wellcomePage, Quote quote)
        {
            ParameterValidator.ValidateNotNull(wellcomePage, "WellcomePage");
            ParameterValidator.ValidateNotNull(quote, "Quote");

            //1. Start new submission
            BusinessClassificationPage businessClassificationPage = wellcomePage.StartNewSubmission();
            //2. Enter business infomation
            EffectiveDatePage effectiveDatePage = businessClassificationPage.EnterBusinessInformation(quote.BusinessClassification);

            //3. Enter policy level vehicle info
            VehicleInfoPage vehicleInfoPage = effectiveDatePage.EnterCustomerInformation(quote.CustomerInformation);

            //4. Enter policy level vehicle info
            VehicleEntryPage vehicleEntryPage = vehicleInfoPage.EnterPolicyLevelVehicleInfo <VehicleEntryPage>(quote.PolicyLevelVehicleInformation);

            //5. Add vehicles
            AddAnotherVehiclePage addAnotherVehiclePage = new AddAnotherVehiclePage();

            for (int i = 0; i < quote.VehicleList.Length; i++)
            {
                vehicleEntryPage.AddVehicle(quote.VehicleList[i]);
                if (i == quote.VehicleList.Length - 1)
                {
                    addAnotherVehiclePage.NoMoreVehicle();
                }
                else
                {
                    addAnotherVehiclePage.YesMoreVehicle();
                }
            }

            //6. Add driver
            DriverEnterPage      driverEnterPage      = new DriverEnterPage();
            AddAnotherDriverPage addAnotherDriverPage = new AddAnotherDriverPage();

            for (int i = 0; i < quote.DriverList.Length; i++)
            {
                if (quote.DriverList[i].DoesNotDrive)
                {
                    driverEnterPage.AddDriver <DriverEnterPage>(quote.DriverList[i]);
                }
                else
                {
                    driverEnterPage.AddDriver(quote.DriverList[i]);
                    if (i == quote.DriverList.Length - 1)
                    {
                        addAnotherDriverPage.NoMoreDriver();
                    }
                    else
                    {
                        addAnotherDriverPage.YesMoreDriver();
                    }
                }
            }

            //7. Select coverage limits
            CoveragesPage coveragesPage = new CoveragesPage();

            if (quote.CoverageLimits != null)
            {
                coveragesPage.SelectCoverageLimits(quote.CoverageLimits).SelectCalculateButton().SelectNextButton();
            }
            else
            {
                coveragesPage.UseDefaultCoverages();
            }

            //8. Select Additional Coverages
            AdditionalCoveragesPage additionalCoveragesPage = new AdditionalCoveragesPage();

            additionalCoveragesPage.SelectAdditionalCoverages <SummaryPage>(quote.AdditionalCoverages);

            //9. Enter Additional Coverages(if needed)
            SummaryPage summaryPage = additionalCoveragesPage.EnterAdditionalCoverages(quote.AdditionalCoverages);

            return(summaryPage);
        }
Beispiel #8
0
        public static AddAnotherVehiclePage EnterVehicleDetails(this VehicleBodyTypePage vehicleBodyTypePage, VehicleInformation vehicleInformation)
        {
            ParameterValidator.ValidateNotNull(vehicleBodyTypePage, "vehicleBodyTypePage");
            ParameterValidator.ValidateNotNull(vehicleInformation, "vehicleInformation");

            //1. Select Body type @BodyType
            vehicleBodyTypePage.SelectBodyType(vehicleInformation.BodyType);

            dynamic currentPage = vehicleBodyTypePage;

            //2. Set GVW or seat cap
            if (vehicleInformation.GVW != null)
            {
                //Select Next Button
                VehicleGVWPage vehicleInfoGVWPage = vehicleBodyTypePage.SelectNextButton <VehicleGVWPage>();
                // Verification
                vehicleInfoGVWPage.ValidateVehicleGVWPageDisplayed();

                //Set GVW
                vehicleInfoGVWPage.SelectGrossWeight(vehicleInformation.GVW);
                currentPage = vehicleInfoGVWPage;
            }
            else if (vehicleInformation.SeatCap != null)
            {
                // Select Next button
                VehicleSeatCapPage vehicleInfoSeatCap = vehicleBodyTypePage.SelectNextButton <VehicleSeatCapPage>();
                // Verification
                vehicleInfoSeatCap.ValidateVehicleSeatCapPageDisplayed();

                // Set Seat Cap
                vehicleInfoSeatCap.EnterSeatCap(vehicleInformation.SeatCap);
                currentPage = vehicleInfoSeatCap;
            }

            //Select Next
            if (vehicleInformation.ClassificationFlow != null)
            {
                currentPage.SelectNextButton <VehicleClassificationPage>();
            }
            else if (vehicleInformation.FactorFlow != null)
            {
                currentPage.SelectNextButton <VehicleFactorPage>();
            }
            else if (vehicleInformation.ClassificationOverride != null)
            {
                currentPage.SelectNextButton <VehicleClassificationOverridePage>();
            }
            else
            {
                currentPage.SelectNextButton <VehiclePhysicalDamagePage>();
            }

            //3.1 Select vehicle classification and select next
            if (vehicleInformation.ClassificationFlow != null)
            {
                VehicleClassificationPage vehicleClassificationPage = new VehicleClassificationPage();
                // Verification
                vehicleClassificationPage.ValidateVehicleClassificationPageDisplayed();

                for (int i = 0; i < vehicleInformation.ClassificationFlow.Length - 1; i++)
                {
                    vehicleClassificationPage.SelectClassificationFlow <VehicleFactorPage>(vehicleInformation.ClassificationFlow[i]);
                }

                if (vehicleInformation.FactorFlow != null)
                {
                    vehicleClassificationPage.SelectClassificationFlow <VehicleFactorPage>(vehicleInformation.ClassificationFlow.Last());
                }
                else if (vehicleInformation.ClassificationOverride != null)
                {
                    vehicleClassificationPage.SelectClassificationFlow <VehicleClassificationOverridePage>(vehicleInformation.ClassificationFlow.Last());
                }
                else
                {
                    vehicleClassificationPage.SelectClassificationFlow <VehiclePhysicalDamagePage>(vehicleInformation.ClassificationFlow.Last());
                }
            }

            //3.2 Select vehicle factor and select next
            if (vehicleInformation.FactorFlow != null)
            {
                VehicleFactorPage vehicleFactorPage = new VehicleFactorPage();
                // Verification
                vehicleFactorPage.ValidateVehicleFactorPageDisplayed();

                for (int i = 0; i < vehicleInformation.FactorFlow.Length - 1; i++)
                {
                    vehicleFactorPage.SelectFactorFlow <VehicleFactorPage>(vehicleInformation.FactorFlow[i]);
                }

                if (vehicleInformation.ClassificationOverride != null)
                {
                    vehicleFactorPage.SelectFactorFlow <VehicleClassificationOverridePage>(vehicleInformation.FactorFlow.Last());
                }
                else
                {
                    vehicleFactorPage.SelectFactorFlow <VehiclePhysicalDamagePage>(vehicleInformation.FactorFlow.Last());
                }
            }

            //3.3 Select vehicle classification override and select next
            if (vehicleInformation.ClassificationOverride != null)
            {
                VehicleClassificationOverridePage vehicleClassificationOverridePage = new VehicleClassificationOverridePage();
                // verification
                vehicleClassificationOverridePage.ValidateVehicleClassificationOverridePageDisplayed();

                for (int i = 0; i < vehicleInformation.ClassificationOverride.Length - 1; i++)
                {
                    vehicleClassificationOverridePage.SelectClassificationOverride <VehicleClassificationOverridePage>(vehicleInformation.ClassificationOverride[i]);
                }
                vehicleClassificationOverridePage.SelectClassificationOverride <VehiclePhysicalDamagePage>(vehicleInformation.ClassificationOverride.Last());
            }
            VehiclePhysicalDamagePage vehicleInfoPhysicalDamagePage = new VehiclePhysicalDamagePage();

            // Verification
            vehicleInfoPhysicalDamagePage.ValidateVehiclePhysicalDamagePageDisplayed();

            //4. Set Physical Damage and select next
            AddAnotherVehiclePage addAnotherVehiclePage = vehicleInfoPhysicalDamagePage.EnterPhysicalDamage(vehicleInformation.PhysicalDamage).SelectNextButton <AddAnotherVehiclePage>();

            // Verification
            addAnotherVehiclePage.ValidateAddAnotherVehiclePageDisplayed();

            return(addAnotherVehiclePage);
        }