feat: update Makelore modules and conversations
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
inman
2026-07-31 10:08:41 +08:00
parent b8ca3f8eea
commit 80e8386fa6
175 changed files with 8036 additions and 10581 deletions

View File

@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { act, render, screen, waitFor } from '@testing-library/react';
import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
import { TitleBar } from '@/components/layout/TitleBar';
import { useSettingsStore } from '@/stores/settings';
@@ -21,13 +21,29 @@ describe('TitleBar platform behavior', () => {
render(<TitleBar integrated />);
expect(screen.getByTestId('product-titlebar')).not.toHaveClass('border-b-4');
expect(screen.getByTestId('product-titlebar')).toHaveClass('bg-[#FFFFFF]');
expect(screen.getByTestId('titlebar-sidebar-surface')).toHaveClass('w-72', 'bg-[#F6F8FA]');
expect(screen.getByTestId('product-titlebar')).not.toHaveClass('border-b');
expect(screen.getByTestId('product-titlebar')).toHaveClass('glass-surface', 'bg-background/70');
expect(screen.getByTestId('titlebar-sidebar-surface')).toHaveClass('w-64', 'bg-surface-sidebar', 'border-r');
expect(screen.getByTestId('titlebar-main-surface')).toHaveClass('border-b');
expect(screen.getByTestId('titlebar-project-context')).not.toHaveClass('border-l');
expect(screen.getByTestId('titlebar-project-context')).toHaveClass('translate-y-[3px]');
expect(screen.getByTestId('titlebar-logo').querySelector('img')).toHaveAttribute('data-logo-source', 'original-wordmark');
expect(screen.getByTestId('titlebar-sidebar-toggle')).toHaveClass('translate-y-[3px]');
expect(screen.getByTestId('titlebar-project-context')).toHaveTextContent('Makelore 工作台');
expect(screen.queryByRole('button', { name: '打开项目位置' })).not.toBeInTheDocument();
expect(screen.queryByRole('button', { name: '后退' })).not.toBeInTheDocument();
expect(screen.queryByRole('button', { name: '前进' })).not.toBeInTheDocument();
fireEvent.click(screen.getByRole('button', { name: '折叠侧栏' }));
expect(useSettingsStore.getState().sidebarCollapsed).toBe(true);
act(() => useSettingsStore.setState({ sidebarCollapsed: true }));
expect(screen.getByTestId('titlebar-sidebar-surface')).toHaveClass('w-16');
expect(screen.getByTestId('titlebar-sidebar-surface')).toHaveClass('w-[132px]');
expect(screen.getByTestId('titlebar-sidebar-surface')).toHaveClass('border-r-0');
expect(screen.getByTestId('product-titlebar')).toHaveClass('bg-background');
expect(screen.getByTestId('titlebar-sidebar-surface')).toHaveClass('bg-background');
expect(screen.getByTestId('product-titlebar')).toHaveClass('border-b');
expect(screen.getByTestId('titlebar-main-surface')).toHaveClass('border-b-0');
});
it('renders macOS drag region', () => {
@@ -40,6 +56,24 @@ describe('TitleBar platform behavior', () => {
expect(invokeIpcMock).not.toHaveBeenCalled();
});
it('previews the collapsed sidebar on hover and pins it on click', () => {
window.electron.platform = 'darwin';
useSettingsStore.setState({ sidebarCollapsed: true });
const onSidebarPeekChange = vi.fn();
render(<TitleBar integrated onSidebarPeekChange={onSidebarPeekChange} />);
const toggle = screen.getByTestId('titlebar-sidebar-toggle');
fireEvent.pointerEnter(toggle);
expect(onSidebarPeekChange).toHaveBeenCalledWith(true);
fireEvent.pointerLeave(toggle);
expect(onSidebarPeekChange).toHaveBeenCalledWith(false);
fireEvent.click(toggle);
expect(useSettingsStore.getState().sidebarCollapsed).toBe(false);
});
it('renders custom controls on Windows', async () => {
window.electron.platform = 'win32';