UNPKG

qe-fe-automation

Version:
83 lines (76 loc) 3.29 kB
import { GrowthInterceptApis } from '@growth-lib/api-intercept'; import { Random, loginRequest } from 'cypress/artifacts'; import { stagingUsers } from '@fixtures/staging-users'; import { NewAccount } from '@growth-lib/growth-new-account'; import { CompanyAccountType, CompanySegmentType, ONBOARDING_GUIDE_SELECTORS } from '@growth-lib/onboarding-guide.utils'; import { OnboardingGuide } from '@growth-lib/onboarding-guide'; import { AddUser } from '@growth-lib/add-user'; import { AdminClaim } from '@growth-lib/admin-claim'; const { superAdmin } = stagingUsers; const superAdminCredentials = Cypress.env('superAdmin').SUPER_ADMIN_PASSWORD; describe('Growth: create new company and check onboarding guide pages for Travel company', () => { let userEmail = ''; const completeTravelTasks = (loginToken: string, withAddress = false) => { AdminClaim.interceptedToken = loginToken; OnboardingGuide.verifyOnboardingGuideOpen(); if (withAddress) { OnboardingGuide.verifyTaskCompleted(ONBOARDING_GUIDE_SELECTORS.addressTask); } else { OnboardingGuide.completeAddAddressTask(); OnboardingGuide.openOnboardingGuide(); } OnboardingGuide.completeGetReadyToTravel(); OnboardingGuide.openOnboardingGuide(); OnboardingGuide.clickOn(ONBOARDING_GUIDE_SELECTORS.reviewTravelPolicyMarkAsDone); OnboardingGuide.clickOn(ONBOARDING_GUIDE_SELECTORS.setUpTravelPaymentMethodMarkAsDone); OnboardingGuide.checkPageAddAndInviteUsers(); const randomId = Random.randomString(6); userEmail = `cypress-traditional-onboarding-user-${randomId}@${NewAccount.randomDomain}`; AddUser.inviteNewUser(userEmail); OnboardingGuide.closeOnboardingGuide(); OnboardingGuide.terminateOnboardingGuide(); }; const setupNewUser = () => { NewAccount.setupUser(userEmail).then((userToken: string) => { AdminClaim.interceptedToken = userToken; OnboardingGuide.verifyOnboardingGuideOpen(); OnboardingGuide.verifyUserOnboardingTasks(); OnboardingGuide.fillAllUserOnboardingTasks(); OnboardingGuide.closeOnboardingGuide(); OnboardingGuide.terminateOnboardingGuide(); }); }; beforeEach(() => { GrowthInterceptApis.interceptApis(); loginRequest(superAdmin.email, superAdminCredentials, true).then((token) => { NewAccount.SAToken = token; }); }); it('C14174956: complete TRAVEL + address', { tags: ['@tier1', '@onboardingGuideIndependent'] }, () => { NewAccount.createNewAccount({ accountSegment: CompanySegmentType.SMB, accountType: CompanyAccountType.TRAVEL, address: { address1: '123 Main St', address2: 'Suite 100', city: 'San Francisco', state: 'CA', country: 'US', zipCode: '94105' } }).then((loginToken: string) => { const withAddress = true; completeTravelTasks(loginToken, withAddress); setupNewUser(); }); }); it('C14174957: complete TRAVEL WITHOUT address', { tags: ['@tier1', '@onboardingGuideIndependent'] }, () => { NewAccount.createNewAccount({ accountSegment: CompanySegmentType.COMMERCIAL, accountType: CompanyAccountType.TRAVEL }).then((loginToken: string) => { completeTravelTasks(loginToken); setupNewUser(); }); }); });