fix: clear token after registration
This commit is contained in:
@@ -113,17 +113,61 @@ async function run() {
|
|||||||
assert.strictEqual(calls[7].data.grantType, 'sms');
|
assert.strictEqual(calls[7].data.grantType, 'sms');
|
||||||
assert.strictEqual(calls[7].data.tenantId, 'tenant-x');
|
assert.strictEqual(calls[7].data.tenantId, 'tenant-x');
|
||||||
assert.strictEqual(calls[7].data.clientId, 'client-x');
|
assert.strictEqual(calls[7].data.clientId, 'client-x');
|
||||||
|
assert.strictEqual(store.values['token-key'], 'server-token');
|
||||||
|
|
||||||
|
store.setItem('token-key', 'existing-token');
|
||||||
|
const registerResponse = await client.register({
|
||||||
|
phone: '13900000000',
|
||||||
|
password: 'register-md5',
|
||||||
|
nickName: 'new-user',
|
||||||
|
validToken: 'register-ticket'
|
||||||
|
});
|
||||||
|
assert.deepStrictEqual(registerResponse, {
|
||||||
|
token: 'server-token',
|
||||||
|
url: '/genealogy/pc/auth/register'
|
||||||
|
});
|
||||||
|
assert.strictEqual(calls[8].url, '/genealogy/pc/auth/register');
|
||||||
|
assert.strictEqual(calls[8].headers.Authorization, undefined);
|
||||||
|
assert.strictEqual(calls[8].data.grantType, 'password');
|
||||||
|
assert.strictEqual(calls[8].data.registerSource, 'PC');
|
||||||
|
assert.strictEqual(store.getItem('token-key'), null);
|
||||||
|
|
||||||
|
const failedRegisterStore = createStore({
|
||||||
|
'token-key': 'existing-token'
|
||||||
|
});
|
||||||
|
const failedRegisterClient = GenealogyApi.createClient({
|
||||||
|
baseUrl: 'https://test-genealogy-api.ddxcjp.cn',
|
||||||
|
clientId: 'client-x',
|
||||||
|
tenantId: 'tenant-x',
|
||||||
|
tokenKey: 'token-key',
|
||||||
|
tokenStore: failedRegisterStore,
|
||||||
|
axiosInstance: {
|
||||||
|
request: async () => {
|
||||||
|
throw new Error('register failed');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await assert.rejects(
|
||||||
|
failedRegisterClient.register({
|
||||||
|
phone: '13900000001',
|
||||||
|
password: 'register-md5',
|
||||||
|
nickName: 'failed-user',
|
||||||
|
validToken: 'register-ticket'
|
||||||
|
}),
|
||||||
|
/register failed/
|
||||||
|
);
|
||||||
|
assert.strictEqual(failedRegisterStore.getItem('token-key'), 'existing-token');
|
||||||
|
|
||||||
await client.sendSmsCode({
|
await client.sendSmsCode({
|
||||||
sceneCode: 'WEB_H5_LOGIN',
|
sceneCode: 'WEB_H5_LOGIN',
|
||||||
phone: '13800000000',
|
phone: '13800000000',
|
||||||
validToken: 'captcha-ticket'
|
validToken: 'captcha-ticket'
|
||||||
});
|
});
|
||||||
assert.strictEqual(calls[8].url, '/genealogy/pc/auth/sms/code');
|
assert.strictEqual(calls[9].url, '/genealogy/pc/auth/sms/code');
|
||||||
assert.strictEqual(calls[8].headers.Authorization, undefined);
|
assert.strictEqual(calls[9].headers.Authorization, undefined);
|
||||||
assert.strictEqual(calls[8].data.grantType, 'sms');
|
assert.strictEqual(calls[9].data.grantType, 'sms');
|
||||||
assert.strictEqual(calls[8].data.sceneCode, 'WEB_H5_LOGIN');
|
assert.strictEqual(calls[9].data.sceneCode, 'WEB_H5_LOGIN');
|
||||||
assert.strictEqual(calls[8].data.validToken, 'captcha-ticket');
|
assert.strictEqual(calls[9].data.validToken, 'captcha-ticket');
|
||||||
|
|
||||||
assert.throws(
|
assert.throws(
|
||||||
() => client.listGenealogies(),
|
() => client.listGenealogies(),
|
||||||
@@ -133,7 +177,7 @@ async function run() {
|
|||||||
() => client.publicGenealogies(),
|
() => client.publicGenealogies(),
|
||||||
(error) => error.code === 'PC_API_NOT_AVAILABLE'
|
(error) => error.code === 'PC_API_NOT_AVAILABLE'
|
||||||
);
|
);
|
||||||
assert.strictEqual(calls.length, 9);
|
assert.strictEqual(calls.length, 10);
|
||||||
|
|
||||||
console.log('api-client tests passed');
|
console.log('api-client tests passed');
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -178,7 +178,7 @@
|
|||||||
auth: false,
|
auth: false,
|
||||||
body: Object.assign({ grantType: 'password', registerSource: 'PC' }, withTenant(body))
|
body: Object.assign({ grantType: 'password', registerSource: 'PC' }, withTenant(body))
|
||||||
});
|
});
|
||||||
setToken(getTokenFromResponse(data));
|
clearToken();
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user