test(e2e): cover chat limit payment flow

This commit is contained in:
2026-06-30 15:39:28 +08:00
parent 218df59345
commit 835c8e4f73
3 changed files with 53 additions and 3 deletions
+10
View File
@@ -3,12 +3,14 @@ import type { Page } from "@playwright/test";
import {
apiEnvelope,
chatSendResponse,
createPaymentOrderResponse,
createChatSendResponse,
createWeeklyLimitChatSendResponse,
e2eEmailUser,
emptyChatHistoryResponse,
emailLoginResponse,
guestLoginResponse,
paidPaymentOrderStatusResponse,
paymentPlansResponse,
userEntitlementsResponse,
vipStatusResponse,
@@ -66,6 +68,14 @@ export async function mockCoreApis(
await route.fulfill({ json: apiEnvelope(paymentPlansResponse) });
});
await page.route("**/api/payment/create-order", async (route) => {
await route.fulfill({ json: apiEnvelope(createPaymentOrderResponse) });
});
await page.route("**/api/payment/order-status**", async (route) => {
await route.fulfill({ json: apiEnvelope(paidPaymentOrderStatusResponse) });
});
await page.route("**/api/payment/vip-status**", async (route) => {
await route.fulfill({ json: apiEnvelope(vipStatusResponse) });
});
+17
View File
@@ -165,6 +165,23 @@ export const paymentPlansResponse = {
],
};
export const paymentOrderId = "order_e2e_vip_monthly";
export const createPaymentOrderResponse = {
orderId: paymentOrderId,
payParams: {
provider: "stripe",
clientSecret: "pi_e2e_secret_mock",
},
};
export const paidPaymentOrderStatusResponse = {
orderId: paymentOrderId,
status: "paid",
orderType: "vip_monthly",
planId: "vip_monthly",
};
export const vipStatusResponse = {
isVip: false,
expiresAt: null,