feat: redesign Canvas plan and reference flow
This commit is contained in:
@@ -81,9 +81,9 @@ test.describe('AI Design V2 workspace', () => {
|
||||
});
|
||||
|
||||
await page.getByTestId('ai-module-option-painting').click();
|
||||
const imageSidebar = page.getByTestId('sidebar-image-workspace');
|
||||
await expect(imageSidebar.getByRole('button', { name: '获取灵感' })).toBeVisible();
|
||||
await imageSidebar.getByRole('button', { name: '获取灵感' }).click();
|
||||
const worksRail = page.getByTestId('image-workspace-works-rail');
|
||||
await expect(worksRail.getByRole('button', { name: '获取灵感' })).toBeVisible();
|
||||
await worksRail.getByRole('button', { name: '获取灵感' }).click();
|
||||
|
||||
const cardButton = page.getByRole('button', { name: '查看 相对媒体 E2E' });
|
||||
await expect(cardButton).toBeVisible();
|
||||
@@ -406,10 +406,12 @@ test.describe('AI Design V2 workspace', () => {
|
||||
(globalThis as typeof globalThis & { __designE2eProfileReady?: boolean }).__designE2eProfileReady,
|
||||
))).toBe(true);
|
||||
await expect(page.getByTestId('image-workspace-conversation')).toBeVisible();
|
||||
await expect(page.getByTestId('image-workspace-creation-pane')).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: '和 AI 聊聊你的想法' })).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: 'AI 听懂的想法' })).toBeVisible();
|
||||
await expect(page.getByText('把便携咖啡机呈现为城市通勤中的精密工具')).toBeVisible();
|
||||
await expect(page.getByTestId('image-workspace-works-rail')).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: '和 AI 一起完善创作' })).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: '制作方案' })).toBeVisible();
|
||||
await expect(page.getByRole('textbox', { name: '创作提示词' })).toHaveValue(
|
||||
'把便携咖啡机呈现为城市通勤中的精密工具',
|
||||
);
|
||||
await expect(page.getByText('Living Form')).toHaveCount(0);
|
||||
await expect(page.getByText('目标与用途')).toHaveCount(0);
|
||||
await expect(page.locator('[data-testid^="sidebar-image-conversation-"]')).toHaveCount(0);
|
||||
@@ -417,43 +419,41 @@ test.describe('AI Design V2 workspace', () => {
|
||||
const layout = await page.evaluate(() => {
|
||||
const conversation = document.querySelector('[data-testid="image-workspace-conversation"]')
|
||||
?.getBoundingClientRect();
|
||||
const cardPane = document.querySelector('[data-testid="image-workspace-creation-pane"]')
|
||||
const worksRail = document.querySelector('[data-testid="image-workspace-works-rail"]')
|
||||
?.getBoundingClientRect();
|
||||
return conversation && cardPane
|
||||
return conversation && worksRail
|
||||
? {
|
||||
conversationHeight: conversation.height,
|
||||
cardHeight: cardPane.height,
|
||||
topGap: Math.abs(conversation.top - cardPane.top),
|
||||
railHeight: worksRail.height,
|
||||
topGap: Math.abs(conversation.top - worksRail.top),
|
||||
conversationWidth: conversation.width,
|
||||
cardWidth: cardPane.width,
|
||||
railWidth: worksRail.width,
|
||||
}
|
||||
: null;
|
||||
});
|
||||
expect(layout).not.toBeNull();
|
||||
expect(layout!.conversationHeight).toBeGreaterThan(300);
|
||||
expect(Math.abs(layout!.conversationHeight - layout!.cardHeight)).toBeLessThanOrEqual(1);
|
||||
expect(Math.abs(layout!.conversationHeight - layout!.railHeight)).toBeLessThanOrEqual(1);
|
||||
expect(layout!.topGap).toBeLessThanOrEqual(1);
|
||||
expect(layout!.conversationWidth).toBeGreaterThan(layout!.cardWidth);
|
||||
expect(layout!.conversationWidth).toBeGreaterThan(layout!.railWidth);
|
||||
|
||||
const desktopViewport = page.viewportSize();
|
||||
await page.setViewportSize({ width: 375, height: 800 });
|
||||
await expect(page.getByTestId('image-workspace-conversation')).toBeVisible();
|
||||
await expect(page.getByTestId('image-workspace-creation-pane')).toBeHidden();
|
||||
await page.getByRole('button', { name: /^当前想法与作品/ }).click();
|
||||
await expect(page.getByTestId('youth-creation-card')).toBeVisible();
|
||||
await page.getByRole('button', { name: '作品' }).click();
|
||||
await expect(page.getByTestId('image-workspace-works-rail')).toBeVisible();
|
||||
await page.keyboard.press('Escape');
|
||||
|
||||
await page.setViewportSize({ width: 768, height: 800 });
|
||||
await expect(page.getByTestId('image-workspace-conversation')).toBeVisible();
|
||||
await expect(page.getByTestId('image-workspace-creation-pane')).toBeHidden();
|
||||
await expect(page.getByRole('button', { name: '作品' })).toBeVisible();
|
||||
|
||||
await page.setViewportSize(desktopViewport ?? { width: 1280, height: 800 });
|
||||
await expect(page.getByTestId('image-workspace-creation-pane')).toBeVisible();
|
||||
await expect(page.getByTestId('image-workspace-works-rail')).toBeVisible();
|
||||
|
||||
await page.getByRole('button', { name: '手动调整(可选)' }).click();
|
||||
await page.getByRole('button', { name: '电脑横屏' }).click();
|
||||
await page.getByRole('button', { name: '完成调整' }).click();
|
||||
await expect(page.getByTestId('youth-creation-card').getByText('电脑横屏')).toBeVisible();
|
||||
await page.getByRole('combobox', { name: '画幅' }).selectOption('16:9');
|
||||
await expect(page.getByRole('combobox', { name: '画幅' })).toHaveValue('16:9');
|
||||
|
||||
const followUp = '主体更克制,留出品牌标题空间';
|
||||
await page.getByLabel('告诉 AI 你想创作什么').fill(followUp);
|
||||
@@ -462,18 +462,16 @@ test.describe('AI Design V2 workspace', () => {
|
||||
await expect(page.getByTestId('image-workspace-conversation'))
|
||||
.toContainText('记住了:主体更简洁,也会为标题留出空间。');
|
||||
|
||||
await page.getByRole('button', { name: '下一步:看看制作方案', exact: true }).click();
|
||||
await expect(page.getByRole('heading', { name: '制作方案准备好了' })).toBeVisible();
|
||||
await expect(page.getByTestId('design-offered-quote')).toBeInViewport();
|
||||
await expect(page.getByText('开始后会按现在的想法制作;如果再改想法,需要重新准备方案。')).toBeVisible();
|
||||
await expect(page.getByLabel(/Prompt|提示词/i)).toHaveCount(0);
|
||||
await page.getByRole('button', { name: '准备制作方案', exact: true }).click();
|
||||
await expect(page.getByRole('button', { name: '确认并开始制作' })).toBeVisible();
|
||||
await expect(page.getByText(/预计使用/)).toContainText('12');
|
||||
await expect(page.getByRole('textbox', { name: '创作提示词' })).toBeVisible();
|
||||
await expect(page.getByText(/规格版本|编译器|生成方式|不可变/)).toHaveCount(0);
|
||||
|
||||
await page.getByRole('button', { name: '花 12 设计点开始制作' }).click();
|
||||
await expect(page.getByText('作品进度')).toBeVisible();
|
||||
await expect(page.getByRole('heading', { name: '我的图片', exact: true })).toBeVisible();
|
||||
await expect(page.getByText('正在准备', { exact: true })).toBeVisible();
|
||||
await expect(page.getByText('正在准备画面').first()).toBeVisible();
|
||||
await page.getByRole('button', { name: '确认并开始制作' }).click();
|
||||
await expect(page.getByTestId('design-plan-history-task-1')).toBeVisible();
|
||||
await expect(page.getByText('等待制作')).toBeVisible();
|
||||
await expect(page.getByTestId('youth-creation-card')).toHaveCount(0);
|
||||
await expect(page.getByText('1200', { exact: true })).toHaveCount(0);
|
||||
} finally {
|
||||
await closeElectronApp(app);
|
||||
|
||||
Reference in New Issue
Block a user