UNPKG

qe-fe-automation

Version:
50 lines (42 loc) 1.65 kB
import { OnboardingGuide } from '@growth-lib/onboarding-guide'; import { cardNumber, paymentMethodData } from '@fixtures/payment-method/payment-method-data'; import { AdminPayment } from '@admin-lib/settings/payment-method'; import { ONBOARDING_GUIDE_SELECTORS } from './onboarding-guide.utils'; const reviewTravelPaymentSelectors = { reviewTravelPaymentNextButtons: '[data-testid="wizardPrimaryAction"]' }; const backupCard = paymentMethodData.creditCard.givenName; export class TravelPaymentMethod { static travelPaymentStepName = [ 'Travel payment methods', 'Select a card type', 'Step 1 - Choose a card name', 'Step 2 - Set the card’s availability', 'Step 3 - Set the card’s availability by booking type' ]; static reviewTravelPaymentNext(): void { cy.get(reviewTravelPaymentSelectors.reviewTravelPaymentNextButtons).click(); } static fillCardDetails(): void { AdminPayment.clickAddCard('SETTINGS_ADD_NEW_CARD'); AdminPayment.enterNickname(backupCard); AdminPayment.enterCardInfo(); AdminPayment.enterBillingAddressInfo(); AdminPayment.enterCardNumber(cardNumber.amex); AdminPayment.enterCardCVC('2468'); AdminPayment.clickBottomButton('Save'); } static fillOnboardingTaskTravelPaymentForTravelAndExpense(): void { OnboardingGuide.completeAddAddressTask(); OnboardingGuide.openOnboardingGuide(); OnboardingGuide.clickOn(ONBOARDING_GUIDE_SELECTORS.getStartedSetupTravelPaymentMethod); this.travelPaymentStepName.forEach((name) => { cy.allure().logStep(name); this.reviewTravelPaymentNext(); }); this.fillCardDetails(); } }