From d2afa2bfe74407bdba44c4857e048e7b968267d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=9F=E6=9E=97=E9=93=96?= Date: Tue, 11 Aug 2026 13:34:11 +0800 Subject: [PATCH] feat: show work description in review workspace --- .../WorkReviewReviewerWorkspace.tsx | 13 ++++++++++++ .../work-review-reviewer-workspace.test.tsx | 21 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/components/work-review/WorkReviewReviewerWorkspace.tsx b/components/work-review/WorkReviewReviewerWorkspace.tsx index 6e9a7872..70ec78e0 100644 --- a/components/work-review/WorkReviewReviewerWorkspace.tsx +++ b/components/work-review/WorkReviewReviewerWorkspace.tsx @@ -903,6 +903,19 @@ export function WorkReviewReviewerWorkspace({ )} +
+
+

+ 作品说明 +

+

+ {project.description?.trim() || '未填写作品说明'} +

+
+
{ + test('shows the submitted work description above the image workspace', () => { + render( + , + ) + + const description = screen.getByText((_, element) => ( + element?.tagName === 'P' + && element.textContent === '用于测试新版视觉主图。\n重点关注标题层级与产品卖点。' + )) + expect(screen.getByRole('heading', { name: '作品说明' })).toBeInTheDocument() + expect(description).toHaveClass('whitespace-pre-wrap', 'break-words') + expect(description.compareDocumentPosition(screen.getAllByText('作品图片')[0])) + .toBe(Node.DOCUMENT_POSITION_FOLLOWING) + }) + test('keeps mobile box selection under app control and recovers after a cancelled gesture', async () => { window.PointerEvent = MouseEvent as typeof PointerEvent const user = userEvent.setup()