qe-fe-automation
Version:
FE test automation framework using cypress
91 lines (78 loc) • 3.04 kB
text/typescript
import { LoginPage } from '@admin-lib/index';
import { User_Type } from '@support-onboard/index';
import {
Hotels,
HotelSearchResults,
HotelItinerary,
HotelCheckout,
HotelInterceptApis
} from '@hotel-lib/index';
import { PaymentMethods, PaymentCheckout } from '../../../profile/lib';
import { paymentMethodData } from '@fixtures/payment-method/payment-method-data';
import { CommerceApiIntercepts } from '@commerce-shared-lib/api-intercepts';
import { LocationUtility } from '@utility-lib/location';
describe('Commerce: Payment during Checkout page', () => {
beforeEach(() => {
LoginPage.createNewCompanyAndLoginWithUserByType({
providers: [],
users: [User_Type.TRAVELER]
});
CommerceApiIntercepts.interceptCommerceApis();
HotelInterceptApis.interceptHotelApis();
Hotels.visitHotelSearch();
Hotels.setCheckInCheckOutDate();
Hotels.selectHotelLocation(LocationUtility.getCityUS());
Hotels.searchHotel();
HotelSearchResults.selectPrepayHotel();
HotelSearchResults.selectHotel(0);
HotelSearchResults.selectPrepayRoomFilter();
HotelSearchResults.selectRoomOption();
HotelCheckout.waitToBeLoaded();
HotelCheckout.setTripInfo();
HotelCheckout.hotelCancellationAndChargePolicy();
HotelCheckout.acceptHotelBookingPolicy();
HotelCheckout.setPhoneNumber();
HotelCheckout.checkIfProofOfVaccineRequired();
PaymentCheckout.addCardInCheckout();
});
afterEach(() => {
HotelCheckout.acceptAcknowledgement();
HotelCheckout.bookNow();
HotelCheckout.expectHotelBookedSuccessfully('Hotel confirmed!');
HotelItinerary.verifyHotelItineraryPage();
// Deleting card after completing checkout
PaymentMethods.visitPage();
PaymentMethods.deletePaymentMethod(1);
});
it(
'C667105 C667104: Should be able to add and edit a personal card to profile from checkout',
{ tags: ['@tier1'] },
() => {
PaymentCheckout.chooseTypeOfCard(0);
// Adding a personal card
PaymentMethods.enterNickname(paymentMethodData.nickname);
PaymentMethods.enterFullName();
PaymentMethods.enterPaymentMethodInfo();
PaymentMethods.clickOnSavePayment();
PaymentCheckout.checkIfCardIsSelected(paymentMethodData.nickname);
PaymentCheckout.checkIfCardIsInList(paymentMethodData.nickname);
// Editing a personal card
PaymentMethods.editCard(1);
PaymentCheckout.checkIfCardIsInList(paymentMethodData.creditCard._fullName);
}
);
it(
'C667103: Should be able to add a company card to profile from checkout',
{ tags: ['@tier1'] },
() => {
PaymentCheckout.chooseTypeOfCard(1);
// Add a company card
PaymentMethods.enterNickname(paymentMethodData.nickname);
PaymentMethods.enterFullName();
PaymentMethods.enterPaymentMethodInfo();
PaymentMethods.clickOnSavePayment();
PaymentCheckout.checkIfCardIsSelected(paymentMethodData.nickname);
PaymentCheckout.checkIfCardIsInList(paymentMethodData.nickname);
}
);
});