qe-fe-automation
Version:
FE test automation framework using cypress
63 lines (53 loc) • 2.04 kB
text/typescript
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]
});
}
}