qe-fe-automation
Version:
FE test automation framework using cypress
51 lines (45 loc) • 1.93 kB
text/typescript
import { LoginPage } from '@admin-lib/index';
import { FlightTripType, FlightInterceptApis } from '@flight-lib/index';
import { LocationUtility, Utility, Timeouts } from '@utility-lib/index';
import { GuestDetails } from '@support-user/index';
import { Provider_Type, User_Type } from '@support-onboard/index';
import { FlightBookingUtility, FlightUtility } from '@flight-modal/index';
const newUserCredentials = Cypress.env('newUser').NEW_USER_PASSWORD;
describe('Flight: Round trip flight', () => {
let userEmail: string;
beforeEach(() => {
LoginPage.createNewCompanyAndLoginWithUserByType({
providers: [Provider_Type.MOCK_FLIGHT],
users: [User_Type.ADMIN],
locale: 'de-DE'
});
cy.task('getDataFromCache', 'userEmail').then((email: any) => {
userEmail = email;
});
LoginPage.clearExistingLoginSession();
FlightInterceptApis.interceptFlightsApis();
});
it('C353584: Book flight - roundtrip - localized', { tags: ['@tier1'] }, () => {
Utility.changeBrowserLanguageTo('de');
LoginPage.visitTALoginPage('Willkommen bei');
console.log('user: ' + userEmail);
LoginPage.loginWithCredentials(userEmail, newUserCredentials);
cy.wait(Timeouts.SHORT_TIMEOUT_5_SEC.timeout);
bookRoundTrip();
});
const bookRoundTrip = (guests: GuestDetails[] = []) => {
cy.reload(true);
const flightParams = FlightBookingUtility.initFlightBookingParams({
flightTripType: FlightTripType.ROUNDTRIP,
locations: LocationUtility.getRandomAcrossUnitedStatesAirports(),
checkInType: ' Continue without EarlyBird Check-In® ',
flightConfirmText: 'Flug bestätigt',
checkOutConfirmText: 'Hin- und Rückreise',
guests: guests
});
FlightUtility.runSearchFlow(flightParams);
FlightUtility.runChooseMockRoundtripResultFlow();
FlightUtility.runCheckoutFlow(flightParams);
FlightUtility.runItineraryFlow();
};
});