qe-fe-automation
Version:
FE test automation framework using cypress
57 lines (54 loc) • 2.08 kB
text/typescript
import { stagingUsers } from '@fixtures/staging-users';
import { Invoice } from '@commerce-lib/invoice/invoice';
import { FlightsInvoiceValidation } from '@commerce-lib/flights/invoice_validation';
import { localizationData } from '@fixtures/commerce/localization_data';
const userCreds = Cypress.env('newUser').NEW_USER_PASSWORD;
const { us_domestic_sabre_user } = stagingUsers;
const english = localizationData.english;
const trainBooking = localizationData.train.train_booking;
const bookingUuid = trainBooking.bookingUuID;
const tripUrl = trainBooking.trip_url;
const bookingID = trainBooking.bookingID;
const baseAmount = english.baseAmount;
const ticketType = english.ticket;
const ticketNumber = trainBooking.transactionId;
const providerType = trainBooking.providerType.trainLine;
const inventoryType = trainBooking.inventoryType;
const metaData = trainBooking.metaData;
describe('Commerce: Rail | Booking | Invoice | Validations', () => {
it('C210213: Rail booking Invoice validations', { tags: ['@tier1'] }, () => {
cy.clearAllByBookingUuid(bookingUuid);
cy.archiveByBookingUUID(bookingUuid);
cy.insertTransactionInLedger(
bookingUuid,
bookingID,
baseAmount,
[],
ticketType,
ticketNumber,
providerType,
inventoryType,
metaData,
'USD',
null
);
cy.forceSyncAPI(bookingUuid);
cy.forcePDFSyncAPI(bookingUuid);
cy.forceSyncAPI(bookingUuid);
cy.forcePDFSyncAPI(bookingUuid);
cy.getLedgerData(bookingUuid);
cy.loginWithAuthToken({
email: us_domestic_sabre_user.email,
password: userCreds,
isSA: true
});
FlightsInvoiceValidation.visitItineraryPage(tripUrl);
FlightsInvoiceValidation.visitViewTripFeePage();
Invoice.retrieveDownloadInvoiceFileWithBookingID(bookingID);
Invoice.retrieveAndConvertPDFInvoiceDetailsToHTML();
Invoice.invoiceTotalAmountValidation();
Invoice.invoiceBaseAmountValidation();
FlightsInvoiceValidation.validateTrainInvoiceDetails();
Invoice.deleteFileFromFolderByBookingId(bookingID);
});
});