UNPKG

qe-fe-automation

Version:
116 lines (99 loc) 4.38 kB
import { LoginPage } from '@admin-lib/login'; import { DelegateInfo } from '@profile-lib/delegate-info'; import { Utility } from '@utility-lib/utility'; const TravelPlannerSelector = { eaTripOnboarding: '.ea-trips-onboarding', dismissModal: '.ta-button__content', addTravelerButton: '[data-testid="addButtonFooter"]', addExistingTraveler: '.ng-star-inserted', selectTraveler: '.ta-travel-planner-add-user-modal__body-results-list__action', saveTravelerSelection: '[data-testid="ta-travel-planner-add-user-modal-save-button"]', editProfileButton: '[data-testid="editProfile"]', newTripButton: '[data-testid="newTrip"]', seeAllTrips: '.itinerary-information__trips-link', contactInfo: '.ta-profile-side-nav__text', backArrow: '.back-arrow' }; const newUserPassword = Cypress.env('newUser').NEW_USER_PASSWORD; export class TravelPlanner { static visitTravelPlannerPage(): void { cy.allure().logStep('Visit profile page on contact info tab'); cy.visit('app/user2/trips/delegate'); } static assignDelegateAndViewTravelPlanner(): void { LoginPage.createNewTravelerAndLogin(); DelegateInfo.visitProfileContactInfo(); DelegateInfo.getDataFromCachedAdminUserAndSetHimAsDelegatedUser(); Utility.loginAsAdmin(newUserPassword); Utility.visitSearchPage(); TravelPlanner.visitTravelPlannerPage(); } static verifyEaTripOnboardingShown(): void { cy.allure().logStep('Verify EA trips onboarding is shown'); cy.get(TravelPlannerSelector.eaTripOnboarding).should('be.visible'); } static dismissEaTripOnboarding(): void { cy.allure().logStep('Dismiss EA trips onboarding modal'); cy.get(TravelPlannerSelector.dismissModal).contains('Next').click(); } static acceptEaTripOnboarding(): void { cy.allure().logStep('Dismiss EA trips onboarding modal'); cy.get(TravelPlannerSelector.dismissModal).contains('Got it').click(); } static acceptOnboardingAndBookmarkTraveler(): void { cy.allure().logStep('Verify EA trips onboarding is shown'); TravelPlanner.dismissEaTripOnboarding(); TravelPlanner.dismissEaTripOnboarding(); TravelPlanner.acceptEaTripOnboarding(); TravelPlanner.clickAddExistingTraveler(); TravelPlanner.addRecentTraveler(); } static clickAddExistingTraveler(): void { cy.allure().logStep('Click add existing traveler tab'); cy.get(TravelPlannerSelector.addTravelerButton).click(); cy.get(TravelPlannerSelector.addExistingTraveler) .contains('Add existing traveler') .click(); } static addRecentTraveler(): void { cy.allure().logStep('Add recent traveler'); cy.get(TravelPlannerSelector.selectTraveler).click(); cy.get(TravelPlannerSelector.saveTravelerSelection).click(); } static clickEditProfile(): void { cy.allure().logStep('Click edit profile button'); cy.get(TravelPlannerSelector.editProfileButton).click(); } static clickNewTrip(): void { cy.allure().logStep('Click new trip button'); cy.get(TravelPlannerSelector.newTripButton).click(); } static seeAllTrips(): void { cy.allure().logStep('Click see all trips link'); cy.get(TravelPlannerSelector.seeAllTrips).click(); } static visitTravelerContactInfo(): void { cy.allure().logStep('Visit delegate can see traveler contact info'); cy.get(TravelPlannerSelector.contactInfo).contains('Contact info').click(); } static visitTravelerInfo(): void { cy.allure().logStep('Visit delegate can see traveler info'); cy.get(TravelPlannerSelector.contactInfo).contains('Traveler info').click(); } static visitTravelerPaymentMethods(): void { cy.allure().logStep('Visit delegate can see traveler payment methods'); cy.get(TravelPlannerSelector.contactInfo).contains('Payment methods').click(); } static visitTravelerLoyaltyPrograms(): void { cy.allure().logStep('Visit delegate can see traveler loyalty programs'); cy.get(TravelPlannerSelector.contactInfo).contains('Loyalty programs').click(); } static visitTravelerNotifications(): void { cy.allure().logStep('Visit delegate can see traveler notifications'); cy.get(TravelPlannerSelector.contactInfo).contains('Notifications').click(); } static backToTravelPlanner(): void { cy.allure().logStep('navigate back to travel planner from edit profile'); cy.get(TravelPlannerSelector.backArrow).click(); } }