UNPKG

qe-fe-automation

Version:
58 lines (50 loc) 1.68 kB
import { RentalCarCheckout, Trips, RentalCarDropOffType, RentalCarLocationType, RentalCarUtility, RentalCarParams, LocationUtility } from '@rentalCar-lib/index'; const newUserCredentials = Cypress.env('newUser').NEW_USER_PASSWORD; const outOfPolicy = 'Yes'; const adminDecision = 'decline'; export enum RentalCarPolicyStatus { Rejected = 'Rejected', Pending = 'Pending Approval' } enum RentalCarPolicyType { Cost = 'cost', Class = 'class' } const createRentalCarParams = (policyType: RentalCarPolicyType): RentalCarParams => ({ tripTileType: 'Business', dropOffType: RentalCarDropOffType.sameDropOff, pickUpLocation: LocationUtility.getRentalCarAirportUS(), outOfPolicy: outOfPolicy, dropOffLocation: LocationUtility.getRentalCarAirportUS(), rentalCarLocationType: RentalCarLocationType.airport, policyType: policyType }); export class RentalCarPolicyModal { static declineRentalCarPolicyBooking(policyType: RentalCarPolicyType) { const rentalCarParams = createRentalCarParams(policyType); RentalCarUtility.bookRentalCar(rentalCarParams); RentalCarCheckout.expectBookingSuccessfully(); Trips.verifyTripStatus(RentalCarPolicyStatus.Pending); RentalCarCheckout.adminApproveOrDeclineRentalCarBooking( newUserCredentials, adminDecision ); Trips.canceledTrip(); Trips.verifyTripStatus(RentalCarPolicyStatus.Rejected); Trips.expectDriverNameIsCorrect(); } static declineRentalCarClassPolicyBooking() { this.declineRentalCarPolicyBooking(RentalCarPolicyType.Class); } static declineRentalCarCostPolicyBooking() { this.declineRentalCarPolicyBooking(RentalCarPolicyType.Cost); } }