qe-fe-automation
Version:
FE test automation framework using cypress
72 lines (57 loc) • 2.3 kB
text/typescript
import {
BlackCar,
BlackCarCheckout,
BlackCarItinerary,
BlackCarLocation,
BlackCarInterceptApis,
BlackCarSearchResults
} from '@blackCar-lib/index';
import { LoginPage } from '@admin-lib/index';
import { TripTileType, Random } from '@utility-lib/index';
import { blackCarsProvider } from '@fixtures/black_car';
import { Provider_Type, User_Type } from '@support-onboard/index';
export class BlackCarBookingModel {
static blackCarBookingOneWay = (
pickUpLocation: BlackCarLocation,
dropOffLocation: BlackCarLocation,
tripTileType: TripTileType
) => {
BlackCarInterceptApis.interceptBlackCarApis();
BlackCar.visitBlackCarSearch(tripTileType);
BlackCar.selectPickUpLocation(pickUpLocation.location);
BlackCar.setAirlineDetailsAndVerify(pickUpLocation);
BlackCar.selectDropOffLocation(dropOffLocation.location);
BlackCar.setAirlineDetailsAndVerify(dropOffLocation);
BlackCar.setPickUpAndDropOffDate();
BlackCar.searchBlackCar();
BlackCarSearchResults.selectCar(blackCarsProvider);
BlackCarCheckout.waitToBeLoaded();
BlackCarCheckout.setTripInfo();
BlackCarCheckout.verifyLocation(pickUpLocation.location);
BlackCarCheckout.verifyLocation(dropOffLocation.location);
BlackCar.getDataFromCachedPickUpDateAndPassToFunction(
BlackCarCheckout.verifyPickUpDate
);
BlackCarCheckout.verifyFlightDetails(pickUpLocation);
BlackCarCheckout.verifyFlightDetails(dropOffLocation);
BlackCarCheckout.updateEmailDetails(
'dummy-' + Random.randomString(5) + '@staging-prime.tripactions.xyz'
);
BlackCarCheckout.storeEstimatedTotal();
BlackCarCheckout.expectPaymentMethodPresent();
BlackCarCheckout.checkOutCar();
BlackCarCheckout.expectBlackCarBookingSuccessfully();
BlackCarCheckout.visitItineraryPageFromBookingSuccessModal();
BlackCarItinerary.verifyBlackCarItineraryPage();
BlackCarItinerary.verifyTripTile(tripTileType);
BlackCarItinerary.getDataFromCachedEstimatedTotalAndVerify();
};
static blackCarEnablePolicy = () => {
LoginPage.createNewCompanyAndLoginWithUserByType({
providers: [Provider_Type.ALL_CAR],
users: [User_Type.ADMIN]
});
cy.enableBlackCarPolicy();
BlackCarInterceptApis.interceptBlackCarApis();
};
}