UNPKG

qe-fe-automation

Version:
88 lines (79 loc) 3.94 kB
import { Timeouts } from '@utility-lib/index'; import { AmplitudeEvents } from './amplitude-events'; const companySetupSelectors = { setUpCompanyContinue: '.ta-sticky-footer ta-button-v2[class^="ta-sticky-footer__save-button"] button', setUpCompanySkip: '.ta-sticky-footer ta-button-v2[class^="ta-sticky-footer__cancel-button"] button', closeHrIntegrationSuggestion: 'ta-button-v2#closeReminder', bookTravel: 'ta-button-v2[text="Book travel"] button', adminExperienceModal: 'ta-modal[class^="ta-company-onboarded-admin-modal"]', exploreAdminDashboard: 'ta-button-v2[text="Explore admin dashboard"] button', scheduleCallButton: '[data-testid="adminModalScheduleCallButton"]', adminModalContinueAndCloseButton: '[data-testid="adminModalContinueButton"]', chilipiperModal: '#chilipiper-frame', viewAllBenefitsExpanderButton: '[data-testid="viewAllBenefits"]', viewLessBenefitsCollapseButton: '[data-testid="viewLessBenefits"]', inviteAdminXButton: '[data-testid="inviteAdmin"] > .ta-button-v2', goBackToAdminClaimedButton: '[data-testid="goBackToAdminClaimed"]', closeInviteAdminModalButton: '[data-testid="modal-header-close-button"]', inviteAdminModalGoToBookButton: '[data-testid="skipSendInviteAdminButton"]', navanVideo: '[data-testid="navanVideo"]', cardByNumber: (cardNumber: number) => { return '[data-testid="card-' + cardNumber + '"]'; } }; export class CompanySetup { static companySetupPolicy(): void { cy.allure().logStep('Configure company policy'); cy.wait('@waitForAdminPolicies'); for (let click = 0; click <= 7; click++) { cy.get(companySetupSelectors.setUpCompanyContinue) .wait(Timeouts.SHORT_TIMEOUT_3_SEC.timeout) .click(); } cy.wait('@waitForSetupPolicy'); AmplitudeEvents.addExpectedAmplitudeEvents( 'admin open policy step', 'admin select savings policy clicked' ); } static verifyNavanVideoAndKeyBenefitsCardsExist(): void { cy.allure().logStep('verify Navan video and key benefits cards exist'); cy.get(companySetupSelectors.navanVideo).should('be.visible'); cy.wait(Timeouts.SHORT_TIMEOUT_2_SEC.timeout); const numberOfCards = 5; // this number will adjust based on needs, i.e.: number of cards const cardSelectors: string = Array.from({ length: numberOfCards }, (_, index) => companySetupSelectors.cardByNumber(index) ).join(', '); cy.get(cardSelectors).should('be.visible'); } static verifyNavanVideoAndKeyBenefitsCardsExistMobileWeb(): void { cy.allure().logStep('verify Navan video and key benefits cards exist on mobile-web'); if (cy.get(companySetupSelectors.viewAllBenefitsExpanderButton).should('exist')) { cy.get(companySetupSelectors.viewAllBenefitsExpanderButton).click(); } cy.get('[data-testid="navanVideo"]').should('be.visible'); cy.wait(Timeouts.SHORT_TIMEOUT_2_SEC.timeout); const numberOfCards = 5; // this number will adjust based on needs, i.e.: number of cards const cardSelectors: string = Array.from({ length: numberOfCards }, (_, index) => companySetupSelectors.cardByNumber(index) ).join(', '); cy.get(cardSelectors).should('be.visible'); } static openAndCloseInviteAdminModal(): void { cy.allure().logStep('open and close invite admin modal'); cy.get(companySetupSelectors.inviteAdminXButton).click(); cy.get(companySetupSelectors.closeInviteAdminModalButton).click(); } static skipAdminClaim(): void { cy.allure().logStep('open and skip invite admin modal'); cy.get(companySetupSelectors.inviteAdminXButton).click(); cy.get(companySetupSelectors.inviteAdminModalGoToBookButton).click(); } static openAndCloseInviteAdminModalMobileWeb(): void { cy.allure().logStep('open and close invite admin modal'); cy.get(companySetupSelectors.inviteAdminXButton).click(); cy.get(companySetupSelectors.goBackToAdminClaimedButton).click(); } }