等待后端更新接口
This commit is contained in:
@@ -242,6 +242,13 @@ test('家谱能力和当前用户决定编辑、管理与本人删除上下文',
|
||||
);
|
||||
});
|
||||
|
||||
test('家族圈编辑能力只接受真实布尔权限,并允许管理者维护内容', () => {
|
||||
assert.equal(FeedPages.canEditFeeds({ canEditContent: true }), true);
|
||||
assert.equal(FeedPages.canEditFeeds({ canManage: true }), true);
|
||||
assert.equal(FeedPages.canEditFeeds({ canEditContent: 'true', canManage: false }), false);
|
||||
assert.equal(FeedPages.canEditFeeds({ canEditContent: false, canManage: 'true' }), false);
|
||||
});
|
||||
|
||||
test('家族圈页面提供真实详情、分页和上传控件,不暴露 OSS ID 或草稿伪语义', () => {
|
||||
const listPage = read('profile-feed.html');
|
||||
const editPage = read('profile-feed-edit.html');
|
||||
@@ -250,10 +257,13 @@ test('家族圈页面提供真实详情、分页和上传控件,不暴露 OSS
|
||||
|
||||
assert.match(listPage, /data-feed-page-prev/);
|
||||
assert.match(listPage, /data-feed-page-next/);
|
||||
assert.match(listPage, /data-feed-create-link[^>]+data-genealogy-context-link|data-genealogy-context-link[^>]+data-feed-create-link/);
|
||||
assert.match(listPage, /data-feed-create-link[^>]+data-genealogy-context-link[^>]+hidden|data-feed-create-link[^>]+hidden[^>]+data-genealogy-context-link/);
|
||||
assert.match(detailPage, /data-feed-detail-page/);
|
||||
assert.match(detailPage, /data-feed-detail/);
|
||||
assert.match(detailPage, /data-feed-detail-comments/);
|
||||
assert.match(detailPage, /data-feed-comment-form novalidate/);
|
||||
assert.match(detailPage, /name="commentContent"[^>]+required/);
|
||||
assert.match(detailPage, /data-feed-comment-form-status/);
|
||||
assert.match(detailPage, /data-feed-list-link[^>]+data-genealogy-context-link|data-genealogy-context-link[^>]+data-feed-list-link/);
|
||||
assert.doesNotMatch(editPage, /type="text"[^>]+name="mediaOssIds"|name="mediaOssIds"[^>]+type="text"/);
|
||||
assert.match(editPage, /name="mediaOssIds"[^>]+type="hidden"|type="hidden"[^>]+name="mediaOssIds"/);
|
||||
@@ -267,3 +277,45 @@ test('家族圈页面提供真实详情、分页和上传控件,不暴露 OSS
|
||||
assert.match(script, /genealogyDetail/);
|
||||
assert.match(script, /field\.disabled/);
|
||||
});
|
||||
|
||||
test('评论和回复使用详情页表单与统一状态,不再使用浏览器提示框', () => {
|
||||
const detailPage = read('profile-feed-detail.html');
|
||||
const script = read('public/js/feed-pages.js');
|
||||
|
||||
assert.match(detailPage, /data-feed-comment-form-target/);
|
||||
assert.match(detailPage, /data-feed-comment-cancel/);
|
||||
assert.match(detailPage, /data-feed-detail[^>]*>[\s\S]*data-api-state="loading"/);
|
||||
assert.match(detailPage, /data-feed-detail-comments[^>]*>[\s\S]*data-api-state="loading"/);
|
||||
assert.match(script, /function openFeedCommentForm\(feedId, parentCommentId\)/);
|
||||
assert.match(script, /function submitComment\(form\)/);
|
||||
assert.match(script, /function renderFeedState\(type, message\)/);
|
||||
assert.match(script, /function setReplyState\(parentCommentId, type, message\)/);
|
||||
assert.match(script, /setFeedCommentFormStatus\('正在发布评论…', 'loading'\)/);
|
||||
assert.match(script, /setFeedCommentFormEnabled\(false\)/);
|
||||
assert.match(script, /setFeedContainerState\('\[data-feed-detail-comments\]', 'loading', '正在加载评论…'\)/);
|
||||
assert.match(script, /setReplyState\(commentId, 'loading', '正在加载回复…'\)/);
|
||||
assert.match(script, /当前账号无权查看回复。/);
|
||||
assert.doesNotMatch(script, /api-empty/);
|
||||
assert.doesNotMatch(script, /root\.prompt/);
|
||||
});
|
||||
|
||||
test('动态发布表单明确必填项,并以真实家谱能力控制加载、无权限和保存失败反馈', () => {
|
||||
const editPage = read('profile-feed-edit.html');
|
||||
const script = read('public/js/feed-pages.js');
|
||||
|
||||
assert.match(editPage, /data-feed-form novalidate/);
|
||||
assert.match(editPage, /class="field-required"/);
|
||||
assert.match(editPage, /data-feed-form-status/);
|
||||
assert.match(script, /root\.ProfileUI && root\.ProfileUI\.setApiState/);
|
||||
assert.match(script, /setFeedContainerState\('\[data-feed-list\]', 'loading'/);
|
||||
assert.match(script, /setFeedContainerState\('\[data-feed-detail\]', 'loading'/);
|
||||
assert.match(script, /'暂无家族动态'/);
|
||||
assert.match(script, /!viewerContext\.canEditContent/);
|
||||
assert.match(script, /setFeedFormEnabled\(false\)/);
|
||||
assert.match(script, /setFeedSubmitPending\(true\)/);
|
||||
assert.match(script, /正在保存…/);
|
||||
assert.match(script, /function canEditFeeds\(genealogy\)/);
|
||||
assert.match(script, /setFeedContentEditingEnabled\(viewerContext\.canEditContent\)/);
|
||||
assert.match(script, /if \(!viewerContext\.canEditContent\) \{\s*setFeedFormStatus\('当前账号无权发布或编辑该家谱的动态。', 'forbidden'\)/);
|
||||
assert.match(editPage, /data-feed-editor-action hidden disabled/);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user