50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
const assert = require('assert');
|
|
const MemberAdminPages = require('../public/js/member-admin-pages.js');
|
|
|
|
function run() {
|
|
assert.deepStrictEqual(MemberAdminPages.normalizeList({ rows: [{ memberId: 1 }] }), [{ memberId: 1 }]);
|
|
assert.deepStrictEqual(MemberAdminPages.normalizeList({ records: [{ memberId: 2 }] }), [{ memberId: 2 }]);
|
|
|
|
assert.deepStrictEqual(MemberAdminPages.buildMemberUpdateBody({
|
|
memberName: ' 汤明 ',
|
|
relationName: ' 族亲 ',
|
|
roleType: ' admin ',
|
|
lineagePersonId: ' 90002 '
|
|
}), {
|
|
memberName: '汤明',
|
|
relationName: '族亲',
|
|
roleType: 'admin',
|
|
lineagePersonId: 90002
|
|
});
|
|
|
|
assert.strictEqual(
|
|
MemberAdminPages.buildOverviewSummary({
|
|
genealogyName: '汤氏族谱',
|
|
memberCount: 18,
|
|
articleCount: 3,
|
|
albumCount: 2
|
|
}),
|
|
'汤氏族谱 · 18 位成员 · 3 篇谱文 · 2 个相册'
|
|
);
|
|
|
|
assert.strictEqual(
|
|
MemberAdminPages.buildMemberRow({
|
|
memberId: 501,
|
|
memberName: '汤明',
|
|
relationName: '族亲',
|
|
roleType: 'admin',
|
|
lineagePersonName: '忠字辈'
|
|
}),
|
|
'<div class="module-row member-admin-row" data-member-id="501"><div><h3>汤明</h3><p>族亲 · 管理员 · 绑定:忠字辈</p></div><div class="row-actions"><button class="pill" type="button" data-member-edit="501" data-member-name="汤明" data-member-relation="族亲" data-member-role="admin">权限</button><button class="pill is-danger" type="button" data-member-remove="501">移除</button></div></div>'
|
|
);
|
|
|
|
assert.strictEqual(
|
|
MemberAdminPages.buildInviteLink('https://example.test/profile-invite.html?id=900001001', '900001001'),
|
|
'https://example.test/join-genealogy.html?id=900001001'
|
|
);
|
|
|
|
console.log('member-admin-pages tests passed');
|
|
}
|
|
|
|
run();
|