Files
jiapu/tests/member-admin-pages.test.js
T
2026-07-09 17:30:10 +08:00

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();