// 已读取AGENTS.md import * as fs from 'fs'; import * as path from 'path'; /** * 第六十四批回归闸门:关键动作前补订阅消息授权 */ describe('第六十四批订阅授权补请求闸门', () => { const rootDir = path.resolve(__dirname, '../../'); const read = (rel: string) => fs.readFileSync(path.join(rootDir, rel), 'utf-8'); const subscribeUtil = read('pwuniapp/common/subscribe.js'); const orderCreate = read('pwuniapp/pages/order/create.vue'); const withdraw = read('pwuniapp/pages/user/withdraw.vue'); const activityDetail = read('pwuniapp/pages/activity/detail.vue'); it('通用订阅工具:预加载 + 按场景请求 + 过滤占位模板', () => { expect(subscribeUtil).toContain('export async function preloadSubscribeTemplates('); expect(subscribeUtil).toContain('export function requestSubscribeFor('); expect(subscribeUtil).toContain("order: ['orderStatusTemplateId', 'verifyCodeTemplateId']"); expect(subscribeUtil).toContain("withdraw: ['withdrawSuccessTemplateId']"); expect(subscribeUtil).toContain("activity: ['activityJoinTemplateId']"); expect(subscribeUtil).toContain("startsWith('tmpl_')"); }); it('下单页在支付前请求授权并预加载模板', () => { expect(orderCreate).toContain('preloadSubscribeTemplates()'); expect(orderCreate).toContain("requestSubscribeFor('order')"); }); it('提现页在提交前请求授权并预加载模板', () => { expect(withdraw).toContain('preloadSubscribeTemplates()'); expect(withdraw).toContain("requestSubscribeFor('withdraw')"); }); it('组局报名在确认后请求授权并预加载模板', () => { expect(activityDetail).toContain('preloadSubscribeTemplates()'); expect(activityDetail).toContain("requestSubscribeFor('activity')"); }); });