public static T EnterHiredCarInformation <T>(this LiabilityQuestions1Page liabilityQuestions1Page, AdditionalCoverages additionalCoverages, bool edit = false) { ParameterValidator.ValidateNotNull(liabilityQuestions1Page, "LiabilityQuestions1Page"); ParameterValidator.ValidateNotNull(additionalCoverages, "Additional Coverages"); ParameterValidator.ValidateNotNull(additionalCoverages.HiredCarNonOwned, "Hired Car Information"); LiabilityQuestions3Page liabilityQuestions3Page = new LiabilityQuestions3Page(); //1. Enter Liability Question 1 page liabilityQuestions1Page.EnterLiabilityQuestion1(additionalCoverages.HiredCarNonOwned.LiabilityQuestion1); if (additionalCoverages.HiredCarNonOwned.LiabilityQuestion1.PlanToUseUnscheduledVehicleNextYear == AnswerOption.Yes) { // Select next button LiabilityQuestions2Page liabilityQuestions2Page = liabilityQuestions1Page.SelectNextButton <LiabilityQuestions2Page>(); // Verification liabilityQuestions2Page.ValidateLiabilityQuestions2PageDisplayed(); //2. Enter Liability Question 2 page and select Next liabilityQuestions2Page.EnterLiabilityQuestion2(additionalCoverages.HiredCarNonOwned.LiabilityQuestion2).SelectNextButton(); } else { // Select next button liabilityQuestions1Page.SelectNextButton <LiabilityQuestions3Page>(); } // Verification liabilityQuestions3Page.ValidateLiabilityQuestions3PageDisplayed(); //3. enter Liability Questions 3 page and select next HiredCarPhysicalDamagePage hiredCarPhysicalDamagePage = liabilityQuestions3Page.EnterLiabilityQuestion3(additionalCoverages.HiredCarNonOwned.LiabilityQuestion3).SelectNextButton(); //verification hiredCarPhysicalDamagePage.ValidateHiredCarPhysicalDamagePageDisplayed(); //4. Enter hired car physical damage page hiredCarPhysicalDamagePage.EnterHiredCarPhysDamage(additionalCoverages.HiredCarNonOwned.HiredCarPhysicalDamage); if (additionalCoverages != null) { // Select next button CargoLimitDeductiblePage cargoLimitDeductiblePage = hiredCarPhysicalDamagePage.SelectNextButton <CargoLimitDeductiblePage>(); //Verification cargoLimitDeductiblePage.ValidateCargoLimitDeductiblePageDisplayed(); } else if (additionalCoverages.TrailerInterchange != null) { //Select next button TrailerInterchangePage trailerInterchangePage = hiredCarPhysicalDamagePage.SelectNextButton <TrailerInterchangePage>(); //Verification trailerInterchangePage.ValidateTrailerInterchangePageDisplayed(); } else if (edit) { // Select Next button SummaryPage summaryPage = hiredCarPhysicalDamagePage.SelectNextButton <SummaryPage>(); //Verification summaryPage.ValidateSummaryPageDisplayed(); } return((T)Activator.CreateInstance(typeof(T))); }
public static T EnterCargoInformation <T>(this CargoLimitDeductiblePage cargoLimitDeductiblePage, AdditionalCoverages additionalCoverages, bool edit = false) { ParameterValidator.ValidateNotNull(cargoLimitDeductiblePage, "CargoLimitDeductiblePage"); ParameterValidator.ValidateNotNull(additionalCoverages, "Additional Coverages"); ParameterValidator.ValidateNotNull(additionalCoverages.Cargo, "Cargo Information"); //1. Enter the following cargo limit and deductible information and proceed CargoCategoryPage cargoCategoryPage = cargoLimitDeductiblePage.SelectCargoLimitAndDeductible(additionalCoverages.Cargo.CargoLimitDeductible).SelectNextButton(); //Validation cargoCategoryPage.ValidateCargoCategoryPageDisplayed(); //2. Select the following and proceed @CargoCategory CargoCommodityPage cargoCommodityPage = cargoCategoryPage.SelectCargoCategory(additionalCoverages.Cargo.CargoCategory).SelectNextButton(); //Verification cargoCommodityPage.ValidateCargoCommodityPageDisplayed(); //3. Select the following and proceed @CargoCommodity CargoModifiersPage cargoModifiersPage = cargoCommodityPage.SelectCargoCommodity(additionalCoverages.Cargo.CargoCommodity).SelectNextButton(); // Verification cargoModifiersPage.ValidateCargoModifiersPageDisplayed(); //4. Select the following for cargo modifiers and proceed cargoModifiersPage.SelectCargoModifiers(additionalCoverages.Cargo.CargoModifiers); if (additionalCoverages.TrailerInterchange != null) { // Select next button TrailerInterchangePage trailerInterchange = cargoModifiersPage.SelectNextButton <TrailerInterchangePage>(); // Verification trailerInterchange.ValidateTrailerInterchangePageDisplayed(); } else if (edit) { // Select next button AdditionalCoveragesOverviewPage additionalCoveragesOverviewPage = cargoModifiersPage.SelectNextButton <AdditionalCoveragesOverviewPage>(); // Verification additionalCoveragesOverviewPage.ValidateAdditionalCoveragesOverviewPageDisplayed(); } else { // Select next button SummaryPage summaryPage = cargoModifiersPage.SelectNextButton <SummaryPage>(); //Verification summaryPage.ValidateSummaryPageDisplayed(); } return((T)Activator.CreateInstance(typeof(T))); }
public void UI_EditQuote_Submitted_Quotes_Cannot_Be_Edited() { //Given //Prepare test data EditQuoteSubmittedQuotesCannotBeEditedTestData testData = new EditQuoteSubmittedQuotesCannotBeEditedTestData(); //1. Navigate to Home page. LoginPage loginPage = OpenBreezeApplication(); //2. Login to Welcome Page WelcomePage welcomePage = loginPage.Login(); //3. Create Quote - Single Vehicle/Single Driver No Additional Coverages SummaryPage summaryPage = welcomePage.CreateQuote(testData.Quote); string quoteId = summaryPage.GetQuoteId(); //4. Submit Quote IndicationPage indicationPage = summaryPage.SelectSubmitButton(); // Verification indicationPage.ValidateIndicationPageDisplayed() .ValidateCongratulationsMessageDisplayed(); //5. Select Close indicationPage.SelectCloseButton(); // Verification welcomePage.ValidateWelcomePageDisplayed(); //6. Open the quote that was just submitted. welcomePage.ResumeQuote <SummaryPage>(EnvironmentSetting.WebUrl, quoteId); // Verification summaryPage.ValidateSummaryPageDisplayed() .ValidateSubmittedButtonDisplayed() .ValidatePrintIndicationButtonEnabled(); //7. Select Menu Headers foreach (var item in testData.MenuHeaderTitles) { summaryPage.SelectMenuTitle <SummaryPage>(item); // Verification summaryPage.ValidateMenuHeaderLinkNotDisplayed(item); } //8. Select Close summaryPage.SelectCloseButton(); // Verification welcomePage.ValidateWelcomePageDisplayed(); }
public static T EnterAdditionalInterestCounts <T>(this AdditionalInterestCountsPage additionalInterestCountsPage, AdditionalCoverages additionalCoverages, bool edit = false) { ParameterValidator.ValidateNotNull(additionalInterestCountsPage, "AdditionalInterestCountsPage"); ParameterValidator.ValidateNotNull(additionalCoverages, "Additional Coverages"); ParameterValidator.ValidateNotNull(additionalCoverages.AdditionalInterests, "Additional Interest Count"); // Enter Additional Interest count additionalInterestCountsPage.InputAdditionalInterestCounts(additionalCoverages.AdditionalInterests); if (additionalCoverages.HiredCarNonOwned != null) { // Select next button LiabilityQuestions1Page liabilityQuestions1Page = additionalInterestCountsPage.SelectNextButton <LiabilityQuestions1Page>(); //Verification liabilityQuestions1Page.ValidateLiabilityQuestions1PageDisplayed(); } else if (additionalCoverages.Cargo != null) { // Select Next Button CargoLimitDeductiblePage cargoLimitDeductiblePage = additionalInterestCountsPage.SelectNextButton <CargoLimitDeductiblePage>(); // Verification cargoLimitDeductiblePage.ValidateCargoLimitDeductiblePageDisplayed(); } else if (additionalCoverages.TrailerInterchange != null) { // Select Next Button TrailerInterchangePage trailerInterchange = additionalInterestCountsPage.SelectNextButton <TrailerInterchangePage>(); // Verification trailerInterchange.ValidateTrailerInterchangePageDisplayed(); } else if (edit) { // Select next button AdditionalCoveragesOverviewPage additionalCoveragesOverviewPage = additionalInterestCountsPage.SelectNextButton <AdditionalCoveragesOverviewPage>(); //Verification additionalCoveragesOverviewPage.ValidateAdditionalCoveragesOverviewPageDisplayed(); } else { //Select Next button SummaryPage summaryPage = additionalInterestCountsPage.SelectNextButton <SummaryPage>(); //Verification summaryPage.ValidateSummaryPageDisplayed(); } return((T)Activator.CreateInstance(typeof(T))); }
public static T EnterTrailerInterchange <T>(this TrailerInterchangePage trailerInterchangePage, AdditionalCoverages additionalCoverages, bool edit = false) { ParameterValidator.ValidateNotNull(trailerInterchangePage, "TrailerInterchangePage"); ParameterValidator.ValidateNotNull(additionalCoverages, "Additional Coverages"); ParameterValidator.ValidateNotNull(additionalCoverages.TrailerInterchange, "Trailer Interchange"); // Enter Trailer interchange trailerInterchangePage.InputTrailerInterchange(additionalCoverages.TrailerInterchange); if (edit) { // Select next button AdditionalCoveragesOverviewPage additionalCoveragesOverviewPage = trailerInterchangePage.SelectNextButton <AdditionalCoveragesOverviewPage>(); // Verification additionalCoveragesOverviewPage.ValidateAdditionalCoveragesOverviewPageDisplayed(); } else { // Select Next button SummaryPage summaryPage = trailerInterchangePage.SelectNextButton(); // Verification summaryPage.ValidateSummaryPageDisplayed(); } return((T)Activator.CreateInstance(typeof(T))); }
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 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(); }