qe-fe-automation
Version:
FE test automation framework using cypress
35 lines (31 loc) • 1.16 kB
text/typescript
import {
TrainCancellation,
TrainTripType,
tripItinerarySelectors
} from '@train-lib/index';
import { Timeouts } from '@utility-lib/constants';
import { utilitySelector } from '@utility-lib/utility';
export class CancellationFlow {
static executeTrainCancellation(eTicket: string, tripType: string) {
cy.contains(`${eTicket}`);
cy.wait(Timeouts.MAX_TIMEOUT_120_SEC.timeout);
cy.reload();
cy.get(utilitySelector.bodySelector).then((btn) => {
if (btn.find(tripItinerarySelectors.cancelUnavailable).length > 0) {
cy.wait(Timeouts.MEDIUM_TIMEOUT_60_SEC.timeout);
cy.reload();
cy.get(tripItinerarySelectors.cancelTicket).click();
} else {
cy.get(tripItinerarySelectors.cancelTicket).click();
}
});
cy.wait('@waitForBookingStatusUpdate');
cy.allure().logStep('cancel trip button clicked');
if (tripType === TrainTripType.ONEWAY) {
TrainCancellation.oneWaySegmentSelectionCancellation();
} else if (tripType === TrainTripType.ROUND_TRIP) {
TrainCancellation.roundSegmentsSelectionCancellation();
}
TrainCancellation.cancellationCheckout();
}
}