等待后端更新接口
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
const test = require('node:test');
|
||||
|
||||
const AdminPermissionPages = require('../public/js/admin-permission-pages.js');
|
||||
const root = path.resolve(__dirname, '..');
|
||||
|
||||
function read(relativePath) {
|
||||
return fs.readFileSync(path.join(root, relativePath), 'utf8');
|
||||
}
|
||||
|
||||
test('管理员权限页只从当前家谱上下文读取安全编号', () => {
|
||||
assert.equal(AdminPermissionPages.getCurrentGenealogyId('?genealogyId=2062179707935264769'), '2062179707935264769');
|
||||
assert.equal(AdminPermissionPages.getCurrentGenealogyId('?genealogyId=0'), '');
|
||||
assert.equal(AdminPermissionPages.getCurrentGenealogyId('?genealogyId=unsafe'), '');
|
||||
});
|
||||
|
||||
test('管理员权限概览只接受当前家谱的角色与严格布尔能力字段', () => {
|
||||
assert.deepEqual(AdminPermissionPages.normalizePermissionOverview({
|
||||
genealogyId: '2062179707935264769',
|
||||
roleType: 'admin',
|
||||
canManage: true,
|
||||
canEditContent: false,
|
||||
ownerUserId: '2062179707935264701'
|
||||
}, '2062179707935264769'), {
|
||||
genealogyId: '2062179707935264769',
|
||||
roleType: 'admin',
|
||||
canManage: true,
|
||||
canEditContent: false
|
||||
});
|
||||
assert.equal(AdminPermissionPages.normalizePermissionOverview({
|
||||
genealogyId: '2062179707935264768',
|
||||
roleType: 'admin',
|
||||
canManage: true,
|
||||
canEditContent: false
|
||||
}, '2062179707935264769'), null);
|
||||
assert.equal(AdminPermissionPages.normalizePermissionOverview({
|
||||
genealogyId: '2062179707935264769',
|
||||
roleType: 'admin',
|
||||
canManage: 'true',
|
||||
canEditContent: false
|
||||
}, '2062179707935264769').canManage, false);
|
||||
assert.equal(AdminPermissionPages.normalizePermissionOverview({
|
||||
genealogyId: '2062179707935264769',
|
||||
roleType: 'legacy-role',
|
||||
canManage: true,
|
||||
canEditContent: false
|
||||
}, '2062179707935264769'), null);
|
||||
});
|
||||
|
||||
test('权限概览依据当前能力展示可管理、审核与内容维护状态', () => {
|
||||
const admin = {
|
||||
genealogyId: '2062179707935264769',
|
||||
roleType: 'admin',
|
||||
canManage: true,
|
||||
canEditContent: false
|
||||
};
|
||||
const member = {
|
||||
genealogyId: '2062179707935264769',
|
||||
roleType: 'member',
|
||||
canManage: false,
|
||||
canEditContent: false
|
||||
};
|
||||
|
||||
assert.match(AdminPermissionPages.renderCurrentPermissions(admin), /当前角色[\s\S]*管理员/);
|
||||
assert.match(AdminPermissionPages.renderCurrentPermissions(admin), /成员角色维护[\s\S]*可管理/);
|
||||
assert.match(AdminPermissionPages.renderCurrentPermissions(admin), /内容维护[\s\S]*可维护/);
|
||||
assert.match(AdminPermissionPages.renderCurrentPermissions(member), /入谱审核[\s\S]*不可审核/);
|
||||
assert.equal(AdminPermissionPages.canMaintainContent({ canManage: 'true', canEditContent: false }), false);
|
||||
});
|
||||
|
||||
test('管理员权限页使用既有家谱详情接口和统一状态,不提供 App 粒度授权表单', () => {
|
||||
const page = read('profile-admin-permissions.html');
|
||||
const script = read('public/js/admin-permission-pages.js');
|
||||
|
||||
assert.match(page, /data-admin-permission-current[\s\S]*data-api-state="loading"/);
|
||||
assert.match(page, /src="public\/js\/admin-permission-pages\.js"/);
|
||||
assert.match(script, /api\.genealogyDetail\(genealogyId\)/);
|
||||
assert.match(script, /root\.ProfileUI && root\.ProfileUI\.setApiState/);
|
||||
assert.match(script, /当前账号无权查看该家谱权限。/);
|
||||
assert.doesNotMatch(page, /<input|<select|<form/);
|
||||
assert.doesNotMatch(script, /addManageUser|getManagePower|auth_str/);
|
||||
});
|
||||
Reference in New Issue
Block a user