feat(M08-B): 补微信转账预检
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user