增加Gopay模式

This commit is contained in:
QLHazyCoder
2026-04-30 23:43:02 +08:00
parent 7e05b42e3c
commit 4bb734fd1d
11 changed files with 631 additions and 67 deletions
+27
View File
@@ -9,6 +9,7 @@ test('step definitions module exposes ordered normal and Plus step metadata', ()
const api = new Function('self', `${source}; return self.MultiPageStepDefinitions;`)(globalScope);
const steps = api.getSteps();
const plusSteps = api.getSteps({ plusModeEnabled: true });
const goPaySteps = api.getSteps({ plusModeEnabled: true, plusPaymentMethod: 'gopay' });
assert.equal(Array.isArray(steps), true);
assert.equal(steps.length, 10);
@@ -31,6 +32,9 @@ test('step definitions module exposes ordered normal and Plus step metadata', ()
'platform-verify',
]
);
assert.equal(steps[0].title, '打开 ChatGPT 官网');
assert.equal(steps[5].title, '清理登录 Cookies');
assert.deepStrictEqual(
plusSteps.map((step) => step.key),
[
@@ -53,6 +57,29 @@ test('step definitions module exposes ordered normal and Plus step metadata', ()
assert.equal(plusSteps.some((step) => step.key === 'fetch-login-code'), true);
assert.deepStrictEqual(api.getStepIds({ plusModeEnabled: true }), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]);
assert.equal(api.getLastStepId({ plusModeEnabled: true }), 13);
assert.equal(plusSteps[5].title, '创建 Plus Checkout');
assert.equal(plusSteps[7].title, 'PayPal 登录与授权');
assert.deepStrictEqual(
goPaySteps.map((step) => step.key),
[
'open-chatgpt',
'submit-signup-email',
'fill-password',
'fetch-signup-code',
'fill-profile',
'plus-checkout-create',
'gopay-subscription-confirm',
'oauth-login',
'fetch-login-code',
'confirm-oauth',
'platform-verify',
]
);
assert.deepStrictEqual(api.getStepIds({ plusModeEnabled: true, plusPaymentMethod: 'gopay' }), [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13]);
assert.equal(api.getLastStepId({ plusModeEnabled: true, plusPaymentMethod: 'gopay' }), 13);
assert.equal(goPaySteps[5].title, '打开 GoPay 订阅页');
assert.equal(goPaySteps[6].title, '等待 GoPay 订阅确认');
});
test('sidepanel html loads shared step definitions before sidepanel bootstrap', () => {