58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
const assert = require('assert');
|
|
const StorageUtil = require('../utils/StorageUtil.js');
|
|
const FormUtil = require('../utils/FormUtil.js');
|
|
const AxiosRequestUtil = require('../utils/AxiosRequestUtil.js');
|
|
|
|
assert.strictEqual(FormUtil.trimOrUndefined(' 张三 '), '张三');
|
|
assert.strictEqual(FormUtil.trimOrUndefined(' '), undefined);
|
|
assert.strictEqual(FormUtil.toNumberOrUndefined('12'), 12);
|
|
assert.strictEqual(FormUtil.toNumberOrUndefined(''), undefined);
|
|
assert.strictEqual(FormUtil.toBoolean('on'), true);
|
|
assert.strictEqual(FormUtil.toBoolean('0'), false);
|
|
|
|
const store = {};
|
|
const storage = {
|
|
getItem: (key) => Object.prototype.hasOwnProperty.call(store, key) ? store[key] : null,
|
|
setItem: (key, value) => {
|
|
store[key] = String(value);
|
|
},
|
|
removeItem: (key) => {
|
|
delete store[key];
|
|
}
|
|
};
|
|
|
|
StorageUtil.write(storage, 'token', 'abc');
|
|
assert.strictEqual(StorageUtil.read(storage, 'token'), 'abc');
|
|
StorageUtil.remove(storage, 'token');
|
|
assert.strictEqual(StorageUtil.read(storage, 'token'), null);
|
|
|
|
const calls = [];
|
|
const requester = AxiosRequestUtil.createRequester({
|
|
baseUrl: 'https://test-genealogy-api.ddxcjp.cn',
|
|
clientId: 'pc-client',
|
|
tokenHeaderName: 'Authorization',
|
|
getToken: () => 'token-x',
|
|
axiosInstance: {
|
|
request: async (config) => {
|
|
calls.push(config);
|
|
|
|
return {
|
|
status: 200,
|
|
data: { code: 200, data: { ok: true } }
|
|
};
|
|
}
|
|
}
|
|
});
|
|
|
|
requester('GET', '/genealogy/pc/auth/profile', {
|
|
query: { keyword: '汤 氏' }
|
|
}).then((data) => {
|
|
assert.deepStrictEqual(data, { ok: true });
|
|
assert.strictEqual(calls[0].method, 'get');
|
|
assert.strictEqual(calls[0].url, '/genealogy/pc/auth/profile');
|
|
assert.deepStrictEqual(calls[0].params, { keyword: '汤 氏' });
|
|
assert.strictEqual(calls[0].headers.clientid, 'pc-client');
|
|
assert.strictEqual(calls[0].headers.Authorization, 'Bearer token-x');
|
|
console.log('utils tests passed');
|
|
});
|