等待后端更新接口
This commit is contained in:
@@ -190,7 +190,7 @@ test('功德记录编辑器拒绝不可重读的停用记录', () => {
|
||||
assert.equal(isEditableMerit(null), false);
|
||||
});
|
||||
|
||||
test('功德录页面开放 PC CRUD 且不制造附件和契约外类型', () => {
|
||||
test('功德录页面按家谱能力开放 PC CRUD,且不制造附件和契约外类型', () => {
|
||||
const projectRoot = path.join(__dirname, '..');
|
||||
const listPage = fs.readFileSync(path.join(projectRoot, 'profile-merit.html'), 'utf8');
|
||||
const editPage = fs.readFileSync(path.join(projectRoot, 'profile-merit-edit.html'), 'utf8');
|
||||
@@ -199,6 +199,7 @@ test('功德录页面开放 PC CRUD 且不制造附件和契约外类型', () =>
|
||||
assert.doesNotMatch(listPage, /data-feature-status="pending"|pending-pages\.js/);
|
||||
assert.match(listPage, /data-merit-list/);
|
||||
assert.match(listPage, /data-merit-detail/);
|
||||
assert.match(listPage, /data-merit-create-link hidden/);
|
||||
assert.doesNotMatch(editPage, /data-feature-status="pending"|pending-pages\.js/);
|
||||
assert.match(editPage, /name="meritTime" type="datetime-local"/);
|
||||
assert.match(editPage, /value="donation"/);
|
||||
@@ -208,9 +209,38 @@ test('功德录页面开放 PC CRUD 且不制造附件和契约外类型', () =>
|
||||
assert.doesNotMatch(editPage, /value="service"/);
|
||||
assert.match(editPage, /name="amount" type="number" step="any"/);
|
||||
assert.match(editPage, /name="sortOrder"/);
|
||||
assert.match(editPage, /data-merit-form[^>]*novalidate/);
|
||||
assert.match(editPage, /for="meritName">功德人姓名<span class="field-required"/);
|
||||
assert.match(editPage, /for="meritTitle">功德标题<span class="field-required"/);
|
||||
assert.match(editPage, /name="status" type="hidden" value="0"/);
|
||||
assert.match(editPage, /data-merit-form-status role="status" aria-live="polite"/);
|
||||
assert.match(editPage, /data-merit-editor-placeholder>[\s\S]*api-state--loading" role="status" aria-live="polite" aria-busy="true"/);
|
||||
assert.doesNotMatch(editPage, /mediaOssIds|type="file"|upload-pages\.js/);
|
||||
assert.match(editPage, /public\/js\/rich-editor\.js/);
|
||||
assert.match(editPage, /public\/js\/merit-pages\.js/);
|
||||
assert.match(styles, /\[data-merit-editor\]\[hidden\][^{]*\{[^}]*display:\s*none\s*!important/s);
|
||||
});
|
||||
|
||||
test('功德记录只向内容维护者或管理员开放写操作,并在提交前同步富文本', () => {
|
||||
const script = fs.readFileSync(modulePath, 'utf8');
|
||||
|
||||
assert.equal(requireFunction('canEditRecords')({ canEditContent: true }), true);
|
||||
assert.equal(requireFunction('canEditRecords')({ canManage: true }), true);
|
||||
assert.equal(requireFunction('canEditRecords')({ canEditContent: false, canManage: false }), false);
|
||||
assert.match(script, /await loadCapability\(api, genealogyId\);/);
|
||||
assert.match(script, /if \(writePending \|\| !canEditContent \|\| !genealogyId/);
|
||||
assert.match(script, /root\.AppRichEditor && root\.AppRichEditor\.syncAll/);
|
||||
assert.match(script, /if \(canEditContent\) \{[\s\S]*data-merit-delete-id/);
|
||||
});
|
||||
|
||||
test('功德记录使用统一的加载、空数据、失败和无权限状态,以及提交中的按钮反馈', () => {
|
||||
const script = fs.readFileSync(modulePath, 'utf8');
|
||||
|
||||
assert.match(script, /function getApiStateType\(error\)[\s\S]*isForbidden\(error\) \? 'forbidden' : 'error'/);
|
||||
assert.match(script, /setState\(query\('\[data-merit-list\]'\), 'loading', '正在加载功德记录…'\)/);
|
||||
assert.match(script, /setState\(query\('\[data-merit-detail\]'\), 'loading', '正在加载功德记录详情…'\)/);
|
||||
assert.match(script, /setFormStatus\('正在读取家谱权限…', 'loading'\)/);
|
||||
assert.match(script, /setFormStatus\(validation, 'error'\)/);
|
||||
assert.match(script, /setWritePending\(true, '正在保存…'\)/);
|
||||
assert.match(script, /setFormStatus\('正在保存功德记录…', 'loading'\)/);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user