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(); }
public static T SelectAdditionalCoverages <T>(this AdditionalCoveragesPage additionalCoveragesPage, AdditionalCoverages additionalCoverages = null, bool edit = false) where T : BasePage { ParameterValidator.ValidateNotNull(additionalCoveragesPage, "AdditionalCoveragesPage"); if (additionalCoverages == null) { if (edit) { AdditionalCoveragesOverviewPage additionalCoveragesOverviewPage = additionalCoveragesPage.SelectNoAdditionalCoverages <AdditionalCoveragesOverviewPage>(); // Verification additionalCoveragesOverviewPage.ValidateAdditionalCoveragesOverviewPageDisplayed(); } else { SummaryPage summaryPage = additionalCoveragesPage.SelectNoAdditionalCoverages <SummaryPage>(); // Verification summaryPage.ValidateSummaryPageDisplayed(); } } else { if (additionalCoverages.AdditionalInterests != null) { additionalCoveragesPage.SelectAdditionalCoverages(AdditionalCoveragesType.AdditionalInterests); } // else // { // additionalCoveragesPage.DeselectAdditionalCoverages(AdditionalCoveragesType.AdditionalInterests); // } if (additionalCoverages.HiredCarNonOwned != null) { additionalCoveragesPage.SelectAdditionalCoverages(AdditionalCoveragesType.HiredCarNonOwned); } else // { // additionalCoveragesPage.DeselectAdditionalCoverages(AdditionalCoveragesType.HiredCarNonOwned); // } if (additionalCoverages.Cargo != null) { additionalCoveragesPage.SelectAdditionalCoverages(AdditionalCoveragesType.Cargo); } // { // additionalCoveragesPage.DeselectAdditionalCoverages(AdditionalCoveragesType.Cargo); // } if (additionalCoverages.TrailerInterchange != null) { additionalCoveragesPage.SelectAdditionalCoverages(AdditionalCoveragesType.TrailerInterchange); } // { // additionalCoveragesPage.DeselectAdditionalCoverages(AdditionalCoveragesType.TrailerInterchange); // } // Select NextButton //User navigates to the first entry screen of the first selected additional coverage (by oder) if (additionalCoverages.AdditionalInterests != null) { // Select NextButton AdditionalInterestCountsPage additionalInterestCountsPage = additionalCoveragesPage.SelectNextButton <AdditionalInterestCountsPage>(); //verification additionalInterestCountsPage.ValidateAdditionalInterestCountsPageDisplayed(); } else if (additionalCoverages.HiredCarNonOwned != null) { // Select next button LiabilityQuestions1Page liabilityQuestions1Page = additionalCoveragesPage.SelectNextButton <LiabilityQuestions1Page>(); // verification liabilityQuestions1Page.ValidateLiabilityQuestions1PageDisplayed(); } else if (additionalCoverages.Cargo != null) { // Select Next Button CargoLimitDeductiblePage cargoLimitDeductiblePage = additionalCoveragesPage.SelectNextButton <CargoLimitDeductiblePage>(); // Verification cargoLimitDeductiblePage.ValidateCargoLimitDeductiblePageDisplayed(); } else if (additionalCoverages.TrailerInterchange != null) { // Select Next Button TrailerInterchangePage trailerInterchangePage = additionalCoveragesPage.SelectNextButton <TrailerInterchangePage>(); // Verification trailerInterchangePage.ValidateTrailerInterchangePageDisplayed(); } } return((T)Activator.CreateInstance(typeof(T))); }
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); }