qe-fe-automation
Version:
FE test automation framework using cypress
50 lines (42 loc) • 1.65 kB
text/typescript
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();
}
}