Files
myeasycms-v2/apps/e2e/tests/utils/billing.po.ts
giancarlo 7dcd688ca9 Update user billing flow and improve error handling
Updated the user billing process to add a return to home function and redirect users to their specific account page after payment. Enhanced error handling in the billing event handler to handle scenarios where no account id is found in the subscription. Removed unused billing page object from the stripe page object.
2024-04-14 18:25:33 +08:00

43 lines
970 B
TypeScript

import { Page } from '@playwright/test';
import { StripePageObject } from './stripe.po';
export class BillingPageObject {
public readonly stripe: StripePageObject;
constructor(
private readonly page: Page,
) {
this.stripe = new StripePageObject(page);
}
plans() {
return this.page.locator('[data-test-plan]');
}
selectPlan(index: number = 0) {
const plans = this.plans();
return plans.nth(index).click();
}
manageBillingButton() {
return this.page.locator('manage-billing-redirect-button');
}
successStatus() {
return this.page.locator('[data-test="payment-return-success"]');
}
async returnToHome() {
await this.page.waitForTimeout(500);
await this.successStatus().locator('button').click();
}
proceedToCheckout() {
return this.page.click('[data-test="checkout-submit-button"]');
}
async getStatus() {
return this.page.locator('[data-test="current-plan-card-status-badge"]');
}
}