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: 'http://182.61.18.23:8080', 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'); });