UNPKG

qe-fe-automation

Version:
59 lines (54 loc) 1.47 kB
import { TrainInterceptApis, TrainSearchModalUtil, AgencyCurrency, TrainTripType, TrainBookingManager, CheckoutModal, TrainItinerary, DeutscheBahnBookingParams, ItaloBookingParams, TrenItaliaBookingParams, SncfBookingParams } from '@train-lib/index'; interface TrainBookingOptions { loyaltyCard: string; provider: any; origin: string; destination: string; } const fareTypeMapping: { [key: string]: any } = { 'Deutsche Bahn': DeutscheBahnBookingParams.FareType.STANDARD, Italo: ItaloBookingParams.FareType.STANDARD, TrenItalia: TrenItaliaBookingParams.FareType.STANDARD, Sncf: SncfBookingParams.FareType.STANDARD }; export class AutoTrainCard { static bookTrainWithAutoAddedLoyaltyCard({ loyaltyCard, provider, origin, destination }: TrainBookingOptions) { TrainInterceptApis.interceptTrainApis(); TrainSearchModalUtil.createCompanyWithProviderName({ feeModelInfo: AgencyCurrency.Euro }); cy.getUserLoyaltyProgramMemberships(); TrainSearchModalUtil.executeTrainSearch({ origin, destination, tripType: TrainTripType.ONEWAY }); const fareType = fareTypeMapping[provider]; TrainBookingManager.selectStandardFareAndProcessForCheckout({ tripType: TrainTripType.ONEWAY, fareType, loyaltyCard: true }); CheckoutModal.checkout({ loyaltyCard: true }); TrainItinerary.expectLoyaltyCardDetailsArePresent(loyaltyCard); } }