qe-fe-automation
Version:
FE test automation framework using cypress
51 lines (45 loc) • 1.79 kB
text/typescript
import {
TrainCheckout,
TrainSearch,
TrainSearchResults,
TrainInterceptApis,
FakeProviderStations
} from '@train-lib/index';
import { factory } from '@admin-factory/index';
import { LoginPage } from '@admin-lib/index';
import { User_Type } from '@support-onboard/index';
import { Utility } from '@utility-lib/index';
import { GuestInviteUtility, GuestTravelUtility } from '@admin-factory/factory';
import { UtilityIntercept } from '@utility-lib/api-intercept';
import { SplitUtility } from '@split-lib/index';
describe('GME: Guest invite booking', () => {
it(
'C51011: FE - Train booking in the Guest invite',
{ tags: ['@tier1', '@fake'] },
() => {
UtilityIntercept.interceptBaseApis();
LoginPage.createNewCompanyAndLoginWithUserByType({ users: [User_Type.ADMIN] });
cy.updateSplits();
SplitUtility.isSplitOn('GROUP_TRAVEL_REFACTOR').then((refactored) => {
if (refactored) {
GuestTravelUtility.createGuestTravelForTraveler(factory.createTrainGuestTravel);
} else {
GuestInviteUtility.createGuestInviteForTraveler(factory.createTrainGuestInvite);
}
});
TrainInterceptApis.interceptTrainApis();
Utility.visitSearchPage();
TrainSearch.verifyTrainSearchInvite('TrainEvent');
TrainSearch.setOrigin(FakeProviderStations.DepartureStation);
TrainSearch.setDestination(FakeProviderStations.DestinationStation);
TrainSearch.searchTrain();
TrainSearchResults.expectSearchResultPresent();
TrainSearchResults.proceedToCheckoutPage();
TrainCheckout.setNewTripName();
TrainCheckout.acceptAcknowledgement();
TrainCheckout.bookTrain();
TrainCheckout.confirmBooking();
TrainCheckout.confirmTripByInvitation();
}
);
});