feat(client): align account and order foundations

This commit is contained in:
2026-09-01 19:34:37 +08:00
parent c1e7ba411e
commit 1305ae4669
23 changed files with 602 additions and 258 deletions
@@ -42,11 +42,18 @@ test('supports tenant profile updates and authenticated qualification downloads'
assert.match(storeSource, /enterpriseType: profile\.enterpriseType \?\? ''/)
})
test('uploads the three required qualification fields through one multipart package request', () => {
test('uploads the required license and omits the optional legal-person file when absent', () => {
assert.match(source, /url: '\/merchant\/v1\/files\/qualifications\/required-package'/)
assert.match(source, /data\.append\('businessLicense', businessLicense\)/)
assert.match(source, /data\.append\('legalPersonId', legalPersonId\)/)
assert.match(source, /params: \{ unifiedSocialCreditCode, replaceBusinessLicense, replaceLegalPersonId \}/)
assert.match(source, /if \(legalPersonId\) data\.append\('legalPersonId', legalPersonId\)/)
assert.match(source, /\.\.\.\(legalPersonId \? \{ replaceLegalPersonId: Boolean\(replaceLegalPersonId\) \} : \{\}\)/)
assert.match(source, /legalPersonIdQualificationId: number \| string \| null/)
})
test('uses the dedicated login-identifiers endpoint and keeps phone out of ordinary profile updates', () => {
assert.match(source, /url: '\/merchant\/v1\/iam\/profile\/login-identifiers'/)
assert.match(source, /ChangeMerchantLoginIdentifiersRequest/)
assert.match(source, /Pick<MerchantPersonalProfile, 'displayName' \| 'email'>/)
})
test('uses membershipId and full replacement arrays in authorization writes', () => {