qe-fe-automation
Version:
FE test automation framework using cypress
60 lines (53 loc) • 2.2 kB
text/typescript
import {
FlightCheckout,
Flights,
FlightTripType,
FlightInterceptApis
} from '@flight-lib/index';
import { factory } from '@admin-factory/index';
import { FlightUtility, FlightBookingUtility } from '@flight-modal/index';
import { LocationUtility, Utility } from '@utility-lib/index';
import { LoginPage } from '@admin-lib/index';
import { Provider_Type, User_Type } from '@support-onboard/index';
import { SplitUtility } from '@split-lib/index';
describe('GME: Round trip flight - guest invite', () => {
it.skip(
'C51009: Should be able to book round trip flight for guest invite',
{ tags: ['@tier1'] },
() => {
FlightInterceptApis.interceptFlightsApis();
LoginPage.createNewCompanyAndLoginWithUserByType({
providers: [Provider_Type.SABRE_FLIGHT],
users: [User_Type.ADMIN]
});
const flightParams = FlightBookingUtility.initFlightBookingParams({
flightTripType: FlightTripType.ROUNDTRIP,
locations: [LocationUtility.getAirportUS()],
isItEventSearch: true,
checkInType: ' Continue without EarlyBird Check-In® '
});
cy.createGuestInvite(factory.createFlightGuestInvite());
cy.updateSplits();
SplitUtility.isSplitOn('GROUP_TRAVEL_REFACTOR').then((refactored) => {
if (refactored) {
cy.createGuestTravel(factory.createFlightGuestTravel());
} else {
cy.createGuestInvite(factory.createFlightGuestInvite());
}
});
Utility.visitSearchPage();
Flights.verifyFlightSearchOptionsIsAvailable(flightParams.verticalType);
cy.allure().logStep(`Airport: [${flightParams.locations[0]}]`);
Flights.setOrigin(flightParams.locations[0]);
Flights.searchFlightGuest();
FlightUtility.runChooseResultFlow(flightParams);
FlightCheckout.expectNumberOfTravelers(1);
FlightCheckout.createTripInformation();
FlightCheckout.checkCancellationPolicy();
FlightCheckout.updateContactDetails();
FlightCheckout.checkIn(flightParams.checkInType);
FlightCheckout.bookAndPay(flightParams);
FlightCheckout.expectFlightSuccessfullyConfirmed(flightParams.flightConfirmText);
}
);
});