diff --git a/playwright-tests/pages/AfterpayPage.ts b/playwright-tests/pages/AfterpayPage.ts index 4691163f..aa345ef4 100644 --- a/playwright-tests/pages/AfterpayPage.ts +++ b/playwright-tests/pages/AfterpayPage.ts @@ -4,51 +4,27 @@ import { IPaymentDetails } from "@business-logic/types/CustomerDetails"; export class AfterpayPage extends BasePage { readonly page: Page; - readonly submitButton: Locator; - - // Login + readonly passwordTextBox: Locator; - - // Card details - readonly cardholderNameTextBox: Locator; - readonly cardNumberTextBox: Locator; - readonly expirationDateTextBox: Locator; - readonly cvvTextBox: Locator; - + readonly submitButton: Locator; readonly confirmButton: Locator; constructor(page: Page) { super(page); this.page = page; - this.passwordTextBox = page.getByRole('textbox', { name: 'Please enter your password' }); + this.passwordTextBox = page.getByTestId('login-password-input'); this.submitButton = page.getByRole('button', { name: 'Continue' }); - - this.cardholderNameTextBox = page.getByTestId('payment-method-cardHolderName-input'); - this.cardNumberTextBox = page.getByTestId('payment-method-cardNumber-input'); - this.expirationDateTextBox = page.getByTestId('payment-method-cardExpiry-input'); - this.cvvTextBox = page.getByTestId('payment-method-cardCvv-input'); - this.confirmButton = page.getByRole('button', { name: 'Confirm' }); } async login(password: string) { + await this.passwordTextBox.click(); await this.passwordTextBox.fill(password); await this.submitButton.click(); } - async populateCardDetails(paymentDetails: IPaymentDetails) { - await this.cardholderNameTextBox.fill('Roberts'); // TODO: Add cardholder name field - await this.cardNumberTextBox.fill(paymentDetails.cardNumber!); - await this.expirationDateTextBox.fill(`${paymentDetails.expirationMonth}/${paymentDetails.expirationYear}`); - await this.cvvTextBox.fill(paymentDetails.cvv!); - await this.submitButton.click(); - } - async executeAfterpayPayment(paymentDetails: IPaymentDetails) { await this.login(paymentDetails.password!); - - await this.populateCardDetails(paymentDetails); - await this.confirmButton.click(); }