45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { renderToStaticMarkup } from 'react-dom/server';
|
|
import { expect, test } from 'vitest';
|
|
|
|
import { CustomWorldCreationHub } from './CustomWorldCreationHub';
|
|
|
|
test('creation hub draft card renders compiled work summary fields', () => {
|
|
const html = renderToStaticMarkup(
|
|
<CustomWorldCreationHub
|
|
items={[
|
|
{
|
|
workId: 'draft:session-1',
|
|
sourceType: 'agent_session',
|
|
status: 'draft',
|
|
title: '一个被潮雾切开的列岛世界',
|
|
subtitle: '补齐关键锚点',
|
|
summary:
|
|
'玩家是失职返乡的守灯人 · 核心冲突:守灯会与沉船商盟争夺航道解释权',
|
|
coverImageSrc: null,
|
|
updatedAt: new Date('2026-04-13T12:00:00.000Z').toISOString(),
|
|
publishedAt: null,
|
|
stage: 'clarifying',
|
|
stageLabel: '补齐关键锚点',
|
|
playableNpcCount: 0,
|
|
landmarkCount: 0,
|
|
sessionId: 'session-1',
|
|
profileId: null,
|
|
canResume: true,
|
|
canEnterWorld: false,
|
|
},
|
|
]}
|
|
loading={false}
|
|
error={null}
|
|
onBack={() => {}}
|
|
onRetry={() => {}}
|
|
onCreateNew={() => {}}
|
|
onResumeDraft={() => {}}
|
|
onEnterPublished={() => {}}
|
|
/>,
|
|
);
|
|
|
|
expect(html).toContain('一个被潮雾切开的列岛世界');
|
|
expect(html).toContain('玩家是失职返乡的守灯人');
|
|
expect(html).toContain('守灯会与沉船商盟争夺航道解释权');
|
|
});
|