修改功,现在补齐页面
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
const assert = require('node:assert/strict');
|
||||
const test = require('node:test');
|
||||
|
||||
const GenealogyApi = require('../utils/ApiClient.js');
|
||||
|
||||
function createClient() {
|
||||
return GenealogyApi.createClient({
|
||||
baseUrl: 'https://api.example.test',
|
||||
tokenStore: {
|
||||
getItem() { return null; },
|
||||
setItem() {},
|
||||
removeItem() {}
|
||||
},
|
||||
axiosInstance: {
|
||||
request() {
|
||||
return Promise.resolve({ data: { code: 200, data: {} } });
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
test('API client exposes latest document-defined PC operations', () => {
|
||||
const client = createClient();
|
||||
const allowed = [
|
||||
'clientId', 'tenantId', 'tokenKey', 'getToken', 'setToken', 'clearToken', 'buildApiUrl',
|
||||
'register', 'login', 'loginBySms', 'sendSmsCode',
|
||||
'currentProfile', 'updateProfile', 'changePassword', 'resetPassword', 'changePhone',
|
||||
'deactivateAccount', 'logout', 'uploadFile',
|
||||
'captchaRequirement', 'captchaChallenge', 'captchaVerify',
|
||||
'regionChildren', 'regionPath', 'regionSearch', 'regionDetail',
|
||||
'feeds', 'feedsPage', 'feedDetail', 'createFeed', 'updateFeed', 'deleteFeed',
|
||||
'likeFeed', 'unlikeFeed', 'feedComments', 'feedCommentsPage', 'createFeedComment',
|
||||
'deleteFeedComment'
|
||||
].sort();
|
||||
|
||||
assert.deepEqual(Object.keys(client).sort(), allowed);
|
||||
});
|
||||
|
||||
test('password login stores only the returned token', async () => {
|
||||
let stored = '';
|
||||
const client = GenealogyApi.createClient({
|
||||
baseUrl: 'https://api.example.test',
|
||||
tokenStore: {
|
||||
getItem() { return stored; },
|
||||
setItem(_, value) { stored = value; },
|
||||
removeItem() { stored = ''; }
|
||||
},
|
||||
axiosInstance: {
|
||||
request(config) {
|
||||
assert.equal(config.method, 'post');
|
||||
assert.equal(config.url, '/genealogy/pc/auth/login');
|
||||
assert.equal(config.headers.Authorization, undefined);
|
||||
return Promise.resolve({ data: { code: 200, data: { accessToken: 'access-token' } } });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
await client.login({ phone: '13800000000', password: 'hash' });
|
||||
|
||||
assert.equal(client.getToken(), 'access-token');
|
||||
});
|
||||
|
||||
test('sending an SMS code uses the latest documented request fields', async () => {
|
||||
const client = GenealogyApi.createClient({
|
||||
baseUrl: 'https://api.example.test',
|
||||
tokenStore: { getItem() { return null; }, setItem() {}, removeItem() {} },
|
||||
axiosInstance: {
|
||||
request(config) {
|
||||
assert.equal(config.url, '/genealogy/pc/auth/sms/code');
|
||||
assert.deepEqual(config.data, {
|
||||
grantType: 'sms',
|
||||
tenantId: '000000',
|
||||
clientId: 'ced7e5f0498645c6ec642dcf450b036f',
|
||||
phone: '13800000000',
|
||||
sceneCode: 'WEB_H5_LOGIN',
|
||||
validToken: 'captcha-ticket'
|
||||
});
|
||||
return Promise.resolve({ data: { code: 200, data: null } });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
await client.sendSmsCode({
|
||||
phone: '13800000000',
|
||||
sceneCode: 'WEB_H5_LOGIN',
|
||||
validToken: 'captcha-ticket'
|
||||
});
|
||||
});
|
||||
|
||||
test('family feed methods use the documented paths and request bodies', async () => {
|
||||
const calls = [];
|
||||
const client = GenealogyApi.createClient({
|
||||
baseUrl: 'https://api.example.test',
|
||||
tokenStore: { getItem() { return 'access-token'; }, setItem() {}, removeItem() {} },
|
||||
axiosInstance: {
|
||||
request(config) {
|
||||
calls.push(config);
|
||||
return Promise.resolve({ data: { code: 200, data: {} } });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
await client.createFeed(900001001, {
|
||||
feedType: 'text',
|
||||
feedContent: '今天上传一张老照片。',
|
||||
mediaOssIds: '101,102',
|
||||
status: '0'
|
||||
});
|
||||
await client.feedCommentsPage(900001001, 7001, { pageNum: 1, pageSize: 10 });
|
||||
await client.deleteFeedComment(900001001, 7001, 8001);
|
||||
|
||||
assert.deepEqual(calls.map((config) => [config.method, config.url, config.params, config.data]), [
|
||||
['post', '/genealogy/pc/genealogies/900001001/feeds', undefined, {
|
||||
feedType: 'text',
|
||||
feedContent: '今天上传一张老照片。',
|
||||
mediaOssIds: '101,102',
|
||||
status: '0'
|
||||
}],
|
||||
['get', '/genealogy/pc/genealogies/900001001/feeds/7001/comments/page', { pageNum: 1, pageSize: 10 }, undefined],
|
||||
['delete', '/genealogy/pc/genealogies/900001001/feeds/7001/comments/8001', undefined, undefined]
|
||||
]);
|
||||
});
|
||||
Reference in New Issue
Block a user