fix(canvas): add full-height history rail
This commit is contained in:
@@ -125,13 +125,17 @@ describe('AI Design Canvas page', () => {
|
||||
expect(screen.queryByText(/规格版本|编译器|生成策略|字段决策/)).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('leaves desktop Workspace navigation to the shared left project sidebar', () => {
|
||||
it('places desktop production history in a full-height right rail', () => {
|
||||
setViewport(true);
|
||||
prepareWorkspace();
|
||||
render(<ImageCanvas />);
|
||||
|
||||
const historyRail = screen.getByTestId('image-workspace-history-rail');
|
||||
expect(historyRail).toHaveClass('h-full', 'border-l');
|
||||
expect(within(historyRail).getByRole('heading', { name: '历史作品' })).toBeInTheDocument();
|
||||
expect(within(historyRail).getByText('还没有历史作品')).toBeInTheDocument();
|
||||
expect(screen.queryByTestId('image-workspace-works-rail')).not.toBeInTheDocument();
|
||||
expect(screen.queryByRole('button', { name: '作品' })).not.toBeInTheDocument();
|
||||
expect(screen.queryByRole('button', { name: '项目' })).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('prioritizes an offered current plan over older completed-work status', () => {
|
||||
@@ -142,17 +146,18 @@ describe('AI Design Canvas page', () => {
|
||||
render(<ImageCanvas />);
|
||||
|
||||
expect(screen.getByText(/制作方案已准备好,确认前仍可修改/)).toBeInTheDocument();
|
||||
expect(screen.getByTestId('image-workspace-history-rail')).toBeInTheDocument();
|
||||
expect(screen.queryByTestId('image-workspace-works-rail')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('opens the Works rail as a left sheet on compact layouts', () => {
|
||||
it('opens project navigation as a left sheet on compact layouts', () => {
|
||||
prepareWorkspace();
|
||||
render(<ImageCanvas />);
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: '作品' }));
|
||||
fireEvent.click(screen.getByRole('button', { name: '项目' }));
|
||||
const rail = screen.getByTestId('image-workspace-works-rail');
|
||||
expect(rail).toBeInTheDocument();
|
||||
expect(within(rail).getByRole('heading', { name: '我的作品' })).toBeInTheDocument();
|
||||
expect(within(rail).getByRole('heading', { name: '设计项目' })).toBeInTheDocument();
|
||||
expect(rail.closest('[role="dialog"]')).toHaveClass('left-0');
|
||||
expect(rail.closest('[role="dialog"]')).not.toHaveClass('right-0');
|
||||
});
|
||||
@@ -423,6 +428,6 @@ describe('AI Design Canvas page', () => {
|
||||
render(<ImageCanvas />);
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: '开始第一个作品' }));
|
||||
await waitFor(() => expect(screen.getByRole('heading', { name: '新建作品' })).toBeInTheDocument());
|
||||
await waitFor(() => expect(screen.getByRole('heading', { name: '新建项目' })).toBeInTheDocument());
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user