public static CoveragesPage AddDriver(this DriverEnterPage driverEnterPage, DriverInformation[] driverList) { ParameterValidator.ValidateNotNull(driverList, "Driver List"); AddAnotherDriverPage addAnotherDriverPage = new AddAnotherDriverPage(); for (int i = 0; i < driverList.Length; i++) { //9. Add vehicle if (driverList[i].DoesNotDrive) { driverEnterPage.AddDriver <DriverEnterPage>(driverList[i]); } else { driverEnterPage.AddDriver(driverList[i]); if (i != driverList.Length - 1) { //10. Yes more driver addAnotherDriverPage.YesMoreDriver(); } else { //10. No more driver addAnotherDriverPage.NoMoreDriver(); } } } return(new CoveragesPage()); }
public static DriverOverviewPage EditDriver(this DriverEnterPage driverFormPage, DriverInformation driverInformation) { if (driverInformation != null) { driverInformation.IsEditFlow = true; } return(AddDriver <DriverOverviewPage>(driverFormPage, driverInformation)); }
public static DriverEnterPage YesMoreDriver(this AddAnotherDriverPage addAnotherDriverPage) { ParameterValidator.ValidateNotNull(addAnotherDriverPage, "AddAnotherDriverPage"); // Select decision when promted to add more driver addAnotherDriverPage.SelectAddMoreDriverButton(AnswerOption.Yes); //Select Next Button DriverEnterPage driverEnterPage = addAnotherDriverPage.SelectNextButton <DriverEnterPage>(); //verification driverEnterPage.ValidateDriverEnterPageDisplayed(); return(driverEnterPage); }
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); }
public static T AddDriver <T>(this DriverEnterPage driverEnterPage, DriverInformation driverInformation) { ParameterValidator.ValidateNotNull(driverEnterPage, "Driver enter page"); ParameterValidator.ValidateNotNull(driverInformation, "Driver information"); AddAnotherDriverPage addAnotherDriverPage = new AddAnotherDriverPage(); CDLExperiencePage cDLExperiencePage = new CDLExperiencePage(); DriverOverviewPage driverOverviewPage = new DriverOverviewPage(); if (driverInformation.IsPO) { //1. Complete driver info and select next driverEnterPage.EnterDriverInfo(driverInformation).SelectNextButton(); } else { //1.1 Complete Name and Date of Birth driverEnterPage.EnterNameAndDOB(driverInformation); //Verification driverEnterPage.ValidateNextButtonDisplayedAndEnabled(); //1.2 Complete license number and state and select next driverEnterPage.EnterLicenseAndState(driverInformation).SelectNextButton(); } //Verification cDLExperiencePage.ValidateCDLExperiencePageDisplayed(); //2. Complete CDL Experience info and select next dynamic currentPage = cDLExperiencePage.EnterCDLExperience(driverInformation.CDLExperience).SelectNextButton(); if (driverInformation.MVRStatus == OrderMVRStatus.Invalid || (driverInformation.MVRStatus == OrderMVRStatus.Unknown && currentPage is AccidentsAndViolationsPage)) { AccidentsAndViolationsPage accidentsAndViolationsPage = new AccidentsAndViolationsPage(); //verification accidentsAndViolationsPage.ValidateAccidentsAndViolationsPageDisplayed(); //3. Complete Accident and Violation info and select next ConvictionsPage convictionsPage = accidentsAndViolationsPage.EnterAccidentAndViolation(driverInformation.AccidentsAndViolations).SelectNextButton(); //Verification convictionsPage.ValidateConvictionsPageDisplayed(); //4. Complete Convictions info convictionsPage.EnterConviction(driverInformation.Conviction); // Navigate to Driver Overview page if process is edit Flow if (driverInformation.IsEditFlow) { //Select next button convictionsPage.SelectNextButton <DriverOverviewPage>(); } // Require the second driver if DoseNotDrive was checked else if (driverInformation.DoesNotDrive) { // Select Next Button convictionsPage.SelectNextButton <DriverEnterPage>(); } else { // Select Next button convictionsPage.SelectNextButton <AddAnotherDriverPage>(); } } if (driverInformation.IsEditFlow) { // verification driverOverviewPage.ValidateDriverOverviewPageDisplayed(); } else if (driverInformation.DoesNotDrive) { //Verification driverEnterPage.ValidateDriverEnterPageDisplayed(); } else { // Verification addAnotherDriverPage.ValidateAddAnotherDriverPageDisplayed(); } return((T)Activator.CreateInstance(typeof(T))); }
public static AddAnotherDriverPage AddDriver(this DriverEnterPage driverEnterPage, DriverInformation driverInformation) { return(AddDriver <AddAnotherDriverPage>(driverEnterPage, driverInformation)); }
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 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(); }
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); }