UNPKG

qe-fe-automation

Version:
63 lines (53 loc) 2.04 kB
import { TripTileType, Random } from '@utility-lib/index'; import { BlackCar, BlackCarTripType, BlackCarSearchResults, BlackCarCheckout, BlackCarItinerary, BlackCarInterceptApis } from '@blackCar-lib/index'; import { blackCarsProvider, providerHourlyDisclaimer } from '@fixtures/black_car'; import { LoginPage } from '@admin-lib/login'; import { Provider_Type, User_Type } from '@support-onboard/index'; export class BlackCarUtility { static blackCarBookingHourly( pickUpLocation: string, hours: number, tripTileType: TripTileType ) { BlackCarInterceptApis.interceptBlackCarApis(); BlackCar.visitBlackCarSearch(tripTileType); BlackCar.selectTripTileType(BlackCarTripType.HOURLY); BlackCar.selectDuration(hours); BlackCar.selectPickUpLocation(pickUpLocation); BlackCar.setPickUpAndDropOffDate(); BlackCar.searchBlackCar(); BlackCarSearchResults.selectCar(blackCarsProvider); BlackCarCheckout.waitToBeLoaded(); BlackCarCheckout.setTripInfo(); BlackCar.getDataFromCachedPickUpDateAndPassToFunction( BlackCarCheckout.verifyPickUpDate ); BlackCarCheckout.verifyLocation(pickUpLocation); BlackCarCheckout.verifyImportantNotesDisclaimer(providerHourlyDisclaimer); BlackCarCheckout.updateEmailDetails( 'dummy-' + Random.randomString(6) + '@staging-prime.tripactions.xyz' ); BlackCarCheckout.checkOutCar(); BlackCarCheckout.storeEstimatedTotal(); BlackCarCheckout.expectBlackCarBookingSuccessfully(); BlackCarCheckout.visitItineraryPageFromBookingSuccessModal(); BlackCarItinerary.verifyBlackCarItineraryPage(); BlackCarItinerary.verifyTripTile(tripTileType); BlackCarItinerary.waitToBeLoaded(); BlackCarItinerary.getDataFromCachedEstimatedTotalAndVerify(); } static prepareCompanyAndLogin(userType: User_Type) { BlackCarInterceptApis.interceptBlackCarApis(); LoginPage.createNewCompanyAndLoginWithUserByType({ providers: [Provider_Type.ALL_CAR], users: [userType] }); } }