UNPKG

qe-fe-automation

Version:
82 lines (70 loc) 2.51 kB
import { LoginPage } from '@admin-lib/index'; import { GuestTravelInfo, UserModal } from '@profile-lib/index'; import { createGuestDetails, createName, GuestDetails } from '@support-user/index'; import { Provider_Type, User_Type } from '@support-onboard/index'; describe('Trips: Profile: Guest travel info', () => { beforeEach(() => { GuestTravelInfo.interceptApis(); UserModal.interceptApis(); LoginPage.createNewCompanyAndLoginWithUserByType({ providers: [Provider_Type.EXPEDIA_FLIGHT, Provider_Type.ALL_CAR], users: [User_Type.TRAVELER] }); GuestTravelInfo.visitPage(); }); it('C574604: should create business guest', { tags: ['@tier1'] }, () => { const guestDetails = createGuestDetails(30, 'MALE', 'Business'); createUser(guestDetails); editGuest(guestDetails); deleteGuest(guestDetails); }); const createUser = (guestDetails: GuestDetails) => { GuestTravelInfo.waitToBeLoaded(); GuestTravelInfo.openNewTravelerModal(); const { givenName = '', familyName = '', email = '', phoneNumber = '', age = 30, travelerType = 'Business' } = guestDetails; UserModal.fillTravelerType(travelerType); UserModal.fillTravelerName(givenName, familyName); UserModal.fillBirthday(age); UserModal.fillGender('MALE'); UserModal.fillEmail(email); UserModal.fillPhoneNumber(phoneNumber); if ('Business' === travelerType) { UserModal.checkCostFields(); } UserModal.save(); GuestTravelInfo.expectGuestToExists({ email, firstName: givenName, lastName: familyName }); }; const editGuest = (guestDetails: GuestDetails) => { const { givenName = '', familyName = '', email = '' } = guestDetails; GuestTravelInfo.openEditTravelerModal(givenName, familyName); const newGivenName = createName(8); const newFamilyName = createName(8); UserModal.fillTravelerName(newGivenName, newFamilyName); UserModal.edit(); GuestTravelInfo.waitToBeLoaded(); GuestTravelInfo.waitUpdateList(); GuestTravelInfo.expectGuestToExists({ email, firstName: newGivenName, lastName: newFamilyName }); }; const deleteGuest = (guestDetails: GuestDetails) => { const { givenName = '', familyName = '' } = guestDetails; GuestTravelInfo.deleteTraveler(givenName, familyName); GuestTravelInfo.waitToBeLoaded(); GuestTravelInfo.waitUpdateList(); GuestTravelInfo.expectToHaveNoGuests(); }; });