UNPKG

qe-fe-automation

Version:
173 lines (154 loc) 7.81 kB
const adminGeneralPageSelectors = { spendSummary: 'app-spend-summary', pageTitle: '[qaid=pageTitle]', analysisTabButton: '[data-qaid=ANALYSIS-button]', travelSpendMenuItem: '[qaid=ANALYSIS_SPEND-menu-item]', travelSpendTotalValue: '[qaid="Travel spend__value"]', flightsMenuItem: '[qaid=ANALYSIS_FLIGHTS-menu-item]', flightSpendTotalValue: '[qaid="Flights spend__value"]', hotelsMenuItem: '[qaid=ANALYSIS_HOTELS-menu-item]', hotelsSpendTotalValue: '[qaid="Hotels spend__value"]', carbonMenuItem: '[qaid=ANALYSIS_EMISSIONS-menu-item]', carbonTotalSpendValues: '[qaid=CO2_EMISSIONS__value]', wellbeingMenuItem: '[qaid=ANALYSIS_WELLBEING-menu-item]', totalNightsAwayValue: '[qaid=TOTAL_NIGHTS_AWAY__value]', reportsTabButton: '[data-qaid=REPORTS-button]', bookingsMenuItem: '[qaid=BOOKINGS-menu-item]', bookingReportInvoiceColumn: '[qaid=table-column-bookingUuid]', reconcileMenuItem: '[qaid=RECONCILE-menu-item]', reconcileStatementCard: '[qaid=reconcile-statement-card]', reconcileHistoryCard: '[qaid=history-card]', rewardsMenuItem: '[qaid=REWARDS-menu-item]', rewardsTransactionReport: '[qaid=tripBucksReportTitle]', unusedCreditsMenuItem: '[qaid=UNUSED_TICKETS-menu-item]', unusedCreditsReportDownloadButton: '[qaid=downloadButton]', safetyTabButton: '[data-qaid=SAFETY-button]', covid19MenuItem: '[qaid=COVID19-menu-item]', covid19StatusTitle: '[qaid=covid19StatusTitle]', travelImpactMenuItem: '[qaid=TRAVEL_IMPACT-menu-item]', numberOfTravelers: '[qaid=travelersValue]', liveMapMenuItem: '[qaid=LIVE_MAP-menu-item]', liveMapSubtitle: '[qaid=live-map-subtitle]', travelerReportMenuItem: '[qaid=TRAVELER_REPORT-menu-item]', showTravelersButton: '[qaid=show-travelers-button]', settingTabButton: '[data-qaid=SETTINGS-button]', integrationsMenuItem: '[data-qaid=INTEGRATIONS]', apiCredentialsCardTitle: '[qaid=api-credentials-card-title]', expenseIntegrationCardTitle: '[qaid=expense-integration-card-title]', rewardsExportCsvButton: '[data-qaid=exportRewardsCsv]', travelAdminNavButton: '[data-qaid="ADMIN-button"]', tmcIntegrationCardTitle: '[qaid=tmc-integration-card-title]' }; export class AdminGeneralCheck { static visitAdminDashboardPage() { cy.allure().logStep('Verify Admin dashboard page is loaded'); cy.visit('app/admin2/en/dashboard'); cy.url().should('include', '/dashboard'); } private static elementShouldBeVisible(...elements: string[]) { elements.forEach((element) => { cy.get(element).should('be.visible'); }); } static checkTravelAdminNavPresence() { cy.allure().logStep('Verify Travel Admin button is present on the page'); this.elementShouldBeVisible(adminGeneralPageSelectors.travelAdminNavButton); } static checkSpendOverviewPresence() { cy.allure().logStep('Verify Spend Summary card is loaded on Admin dashboard screen'); this.elementShouldBeVisible(adminGeneralPageSelectors.spendSummary); } static checkTravelSpendPagePresence() { cy.allure().logStep('Verify Analysis -> Travel Spend page is loaded'); cy.get(adminGeneralPageSelectors.analysisTabButton).click(); cy.get(adminGeneralPageSelectors.travelSpendMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.travelSpendTotalValue); } static checkFlightsPagePresence() { cy.allure().logStep('Verify Analysis -> Flights page is loaded'); cy.get(adminGeneralPageSelectors.analysisTabButton).click(); cy.get(adminGeneralPageSelectors.flightsMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.flightSpendTotalValue); } static checkHotelsPagePresence() { cy.allure().logStep('Verify Analysis -> Hotels page is loaded'); cy.get(adminGeneralPageSelectors.analysisTabButton).click(); cy.get(adminGeneralPageSelectors.hotelsMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.hotelsSpendTotalValue); } static checkCO2PagePresence() { cy.allure().logStep('Verify Analysis -> Carbon page is loaded'); cy.get(adminGeneralPageSelectors.analysisTabButton).click(); cy.get(adminGeneralPageSelectors.carbonMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.carbonTotalSpendValues); } static checkTravelerWellBeingPagePresence() { cy.allure().logStep('Verify Analysis -> Traveler Well-being page is loaded'); cy.get(adminGeneralPageSelectors.analysisTabButton).click(); cy.get(adminGeneralPageSelectors.wellbeingMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.totalNightsAwayValue); } static checkBookingReportPagePresence() { cy.allure().logStep('Verify Reports -> Booking report page is loaded'); cy.get(adminGeneralPageSelectors.reportsTabButton).click(); cy.get(adminGeneralPageSelectors.bookingsMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.bookingReportInvoiceColumn); } static checkReconcilePagePresence() { cy.allure().logStep('Verify Reports -> Reconcile page is loaded'); cy.get(adminGeneralPageSelectors.reportsTabButton).click(); cy.get(adminGeneralPageSelectors.reconcileMenuItem).click(); this.elementShouldBeVisible( adminGeneralPageSelectors.reconcileStatementCard, adminGeneralPageSelectors.reconcileHistoryCard ); } static checkRewardsPagePresence() { cy.allure().logStep('Verify Reports -> Rewards page is loaded'); cy.get(adminGeneralPageSelectors.reportsTabButton).click(); cy.get(adminGeneralPageSelectors.rewardsMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.rewardsExportCsvButton); } static checkUnusedCreditsPagePresence() { cy.allure().logStep('Verify Reports -> Unused Credits page is loaded'); cy.get(adminGeneralPageSelectors.reportsTabButton).click(); cy.get(adminGeneralPageSelectors.unusedCreditsMenuItem).click(); this.elementShouldBeVisible( adminGeneralPageSelectors.unusedCreditsReportDownloadButton ); } static checkCovid19PagePresence() { cy.allure().logStep('Verify Savefy -> Covid19 page is loaded'); cy.get(adminGeneralPageSelectors.safetyTabButton).click(); cy.get(adminGeneralPageSelectors.covid19MenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.covid19StatusTitle); } static checkTravelImpactDashboardPagePresence() { cy.allure().logStep('Verify Savefy -> Travel Impact dashboard page is loaded'); cy.get(adminGeneralPageSelectors.safetyTabButton).click(); cy.get(adminGeneralPageSelectors.travelImpactMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.numberOfTravelers); } static checkLiveMapPagePresence() { cy.allure().logStep('Verify Savefy -> Live Map page is loaded'); cy.get(adminGeneralPageSelectors.safetyTabButton).click(); cy.get(adminGeneralPageSelectors.liveMapMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.liveMapSubtitle); } static checkTravelerReportPresence() { cy.allure().logStep('Verify Savefy -> Traveler Report page is loaded'); cy.get(adminGeneralPageSelectors.safetyTabButton).click(); cy.get(adminGeneralPageSelectors.travelerReportMenuItem).click(); this.elementShouldBeVisible(adminGeneralPageSelectors.showTravelersButton); } static checkIntegrationsPagePresence() { cy.allure().logStep('Verify Settings -> Integration page is loaded'); cy.get(adminGeneralPageSelectors.settingTabButton).click(); cy.get(adminGeneralPageSelectors.integrationsMenuItem).click(); this.elementShouldBeVisible( adminGeneralPageSelectors.apiCredentialsCardTitle, adminGeneralPageSelectors.expenseIntegrationCardTitle, adminGeneralPageSelectors.tmcIntegrationCardTitle ); } }