Files
myeasycms-v2/apps/e2e/tests/utils/billing.po.ts
giancarlo a3fc153207 Update billing navigation and increase test timeout
Changes include updating the user and team billing specs to increase visibility timeout and alter navigation route post-billing. Minor adjustments have been made to the page aesthetics and redirection logic. Also, refactored import statements for code organization purposes. Changes in the build script are also reflected in the commit.
2024-04-15 12:40:27 +08:00

45 lines
1.0 KiB
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('[data-test="manage-billing-redirect-button"]');
}
successStatus() {
return this.page.locator('[data-test="payment-return-success"]');
}
async returnToBilling() {
// wait a bit for the webhook to be processed
await this.page.waitForTimeout(1000);
await this.page.locator('[data-test="checkout-success-back-link"]').click();
}
proceedToCheckout() {
return this.page.click('[data-test="checkout-submit-button"]');
}
async getStatus() {
return this.page.locator('[data-test="current-plan-card-status-badge"]');
}
}