feat(M08-B): 补微信转账预检

This commit is contained in:
Codex
2026-06-29 11:23:49 +08:00
parent 1fada09249
commit 9506021b29
14 changed files with 410 additions and 22 deletions
+30 -1
View File
@@ -24,6 +24,34 @@ const actor = {
traceId: 'cleaning-payout-test'
};
{
const harness = createHarness({});
const result = await harness.service.preflightWechatTransfer({
...actor,
settlementId: '501'
});
assert.equal(result.ready, true);
assert.equal(result.account.merchantIdMasked, '19***0109');
assert.equal(result.credential.reportInfoCount, 1);
assert.equal(result.cleaner.openidConfigured, true);
assert.equal(result.checks.find((item) => item.key === 'transfer_scene_id').status, 'PASS');
}
{
const harness = createHarness({
credentialPatch: { transferSceneId: '', transferSceneReportInfos: [] },
openid: ''
});
const result = await harness.service.preflightWechatTransfer({
...actor,
settlementId: '501'
});
assert.equal(result.ready, false);
assert.equal(result.checks.find((item) => item.key === 'transfer_scene_id').status, 'FAIL');
assert.equal(result.checks.find((item) => item.key === 'transfer_scene_report_infos').status, 'WARN');
assert.equal(result.checks.find((item) => item.key === 'cleaner_openid').status, 'FAIL');
}
{
const harness = createHarness({ transferState: 'SUCCESS' });
const result = await harness.service.executeWechatTransfer({
@@ -176,7 +204,7 @@ function createHarness(options = {}) {
return [[state.account], []];
}
if (sql.includes('FROM qipai_user_identities')) {
return [[{ openid: 'openid-cleaner' }], []];
return [options.openid === '' ? [] : [{ openid: options.openid ?? 'openid-cleaner' }], []];
}
throw new Error(`Unexpected SQL: ${sql}`);
}
@@ -235,6 +263,7 @@ function createHarness(options = {}) {
transferSceneId: '1000',
transferSceneReportInfos: [{ infoType: '岗位类型', infoContent: '保洁员' }]
};
Object.assign(credential, options.credentialPatch ?? {});
return {
state,
repository,