UNPKG

qe-fe-automation

Version:
148 lines (130 loc) 5.99 kB
import { GrowthInterceptApis } from '@growth-lib/api-intercept'; import { LoginSelfSell } from '@support-growth/login-self-sell'; import { SignUp } from '@growth-lib/sign-up'; import { AmplitudeEvents } from '@growth-lib/amplitude-events'; import { DelegatePage } from '@growth-lib/delegate-page'; import { LoginPage } from '@admin-lib/login'; import faker from '@faker-js/faker'; import { Timeouts } from '@utility-lib/constants'; import { GrowthRegistrationUrls } from '@growth-lib/model'; import { OnboardByApi } from '@growth-lib/onboard-by-api'; import { SignupReason } from '../../../growth_common_lib'; const testUserEmail = 'mgoldenberg@dlge2e.com'; const testUserEmail2 = 'rchabra+traveltest11-no-persona-bfo@traveltest11-no-persona-bfo.com'; const credentials = Cypress.env('newUser').NEW_USER_PASSWORD; const checkAddTravelerEmptySuggestions = () => { DelegatePage.clickAddTraveler(); DelegatePage.checkAddTravelerFromListEmpty(false, true); DelegatePage.createNewTravelerUser('Laura', 'Miller'); }; const goToNotificationsFromToastAndVerify = () => { DelegatePage.checkSideToastShown(true); DelegatePage.checkEditProfileShownWithNotifications('Laura Miller'); DelegatePage.pressBackFromNotifications(); DelegatePage.verifyDelegateHomePageOpened(); }; const checkAddTravelerFromSuggestions = () => { DelegatePage.clickAddTraveler(); DelegatePage.checkAddTravelerFromListNotEmpty(); DelegatePage.searchNotExistingTraveler('Not Existing'); DelegatePage.searchExistingTraveler('Adam Abr'); DelegatePage.addSearchedTraveler(); DelegatePage.checkUserSelectedAndEmptyTripState('Adam Abramson'); }; const addFirstTravelerAndCheckHeSelectedWithEmptyTrips = () => { DelegatePage.createNewTravelerUser('Adam', 'Abramson'); DelegatePage.checkSideToastShown(false); DelegatePage.checkUserSelectedAndEmptyTripState('Adam Abramson'); DelegatePage.checkAddTravelerBottomButtonShown(); }; describe('Affiliate: new company on-boarding for delegate user', () => { let token: string; beforeEach(() => { GrowthInterceptApis.interceptApis(); LoginSelfSell.createNewSelfSellLead({ registrationUrl: GrowthRegistrationUrls.travel }).then((login) => { token = login.token; }); }); it('C8357371: Web onboard as self sell user for delegate user', { tags: ['@tier1'] }, () => { SignUp.signupWithSkipAdmin(token, SignupReason.BOOK_FOR_OTHERS, false); DelegatePage.verifyDelegateHomePageOpened(); DelegatePage.verifyDelegateIsLandingPage(); AmplitudeEvents.expectAmplitudeEventsToBeSent(); OnboardByApi.deleteLastOnboardedCompany(); }); it('C8357372: Web onboard as self sell user for delegate user - mobile', { tags: ['@tier1'] }, () => { SignUp.signupWithSkipAdmin(token, SignupReason.BOOK_FOR_OTHERS, true); SignUp.howItWorksForDelegate(); AmplitudeEvents.expectAmplitudeEventsToBeSent(); OnboardByApi.deleteLastOnboardedCompany(); }); it('C9968088: Web delegate user new trip selecting user - web', { tags: ['@tier1'] }, () => { const TEST_USER_NAME = 'Michael Jordan'; LoginPage.clearExistingLoginSession(); LoginPage.visitTALoginPage(); LoginPage.loginWithCredentials(testUserEmail, credentials); DelegatePage.closeWelcomeModal(); DelegatePage.selectSpecificStaticUser(TEST_USER_NAME); DelegatePage.clickNewTrip(); DelegatePage.verifySearchPageShownWithSelectedUser(TEST_USER_NAME); cy.go('back'); DelegatePage.clickNewTripNoResults(TEST_USER_NAME.split(' ')[0]); DelegatePage.verifySearchPageShownWithSelectedUser(TEST_USER_NAME); }); it( 'C12926557: Web delegate user - login and add e2e guest travel planner redirect to profile - web', { tags: ['@tier1'] }, () => { LoginPage.clearExistingLoginSession(); LoginPage.visitTALoginPage(); LoginPage.loginWithCredentials(testUserEmail2, credentials); DelegatePage.closeWelcomeModal(); DelegatePage.checkEditProfileLeftSide('GUEST DO NOT TOUCH'); } ); it( 'C10134898: WEB delegate edit travelers profile Notification tab is shown via and functionality', { tags: ['@tier1'] }, () => { SignUp.signupWithSkipAdmin(token, SignupReason.BOOK_FOR_OTHERS, false); DelegatePage.verifyDelegateHomePageOpened(); DelegatePage.closeWelcomeModal(); DelegatePage.checkAddTravelerCenterButtonYellowMark(); DelegatePage.clickAddTravelerCenter(); const firstName = faker.name.firstName(); const lastName = faker.name.lastName().replace(/'/g, ''); DelegatePage.createNewTravelerUser(firstName, lastName); DelegatePage.clickEditProfile(); DelegatePage.checkEditProfileShownWithNotifications(`${firstName} ${lastName}`); DelegatePage.verifyNotificationUpdated(); OnboardByApi.deleteLastOnboardedCompany(); } ); it( 'C10135383 C10135141 C10135139: Add Traveler flow - add users, remove, search, check empty states, ' + ', yellow sign is not show, check select user to see trips (empty state), notification indication shown and working', { tags: ['@tier1'] }, () => { SignUp.signupWithSkipAdmin(token, SignupReason.BOOK_FOR_OTHERS, false); DelegatePage.verifyDelegateHomePageOpened(); DelegatePage.closeWelcomeModal(); DelegatePage.checkAddTravelerCenterButtonYellowMark(); DelegatePage.verifyBFOBannerShown(); DelegatePage.clickAddTravelerCenter(); addFirstTravelerAndCheckHeSelectedWithEmptyTrips(); cy.wait(Timeouts.SHORT_TIMEOUT_5_SEC.timeout); // this part checks C10135139 checkAddTravelerEmptySuggestions(); goToNotificationsFromToastAndVerify(); DelegatePage.verifyUsersSorted(); DelegatePage.removeTraveler(); DelegatePage.checkUserNotExist('Adam Abramson'); DelegatePage.verifyUsersSorted(); checkAddTravelerFromSuggestions(); DelegatePage.verifyUsersSorted(); OnboardByApi.deleteLastOnboardedCompany(); } ); });