import { describe, it, expect, beforeEach, vi } from 'vitest'; import { render, screen } from '@testing-library/react'; import { ThemeProvider } from '@/components/theme-provider'; import { EditorPane } from '@/components/editor/EditorPane'; import { useEditorStore } from '@/stores/editor-store'; import { CodeMirrorEditor } from '@/components/editor/CodeMirrorEditor'; vi.mock('@/components/editor/CodeMirrorEditor', () => ({ CodeMirrorEditor: ({ initialContent }: { initialContent: string }) => (
{initialContent}
), })); describe('EditorPane', () => { beforeEach(() => { useEditorStore.setState({ buffers: new Map(), activeId: null }); }); it('renders the empty state when no buffer is open', () => { render( ); expect(screen.getByText(/no file open/i)).toBeInTheDocument(); }); it('renders the editor when a buffer is open', () => { useEditorStore.getState().openBuffer('b1', '/x.md', '# hello'); render( ); expect(screen.getByTestId('codemirror-mock')).toBeInTheDocument(); expect(screen.getByTestId('codemirror-mock')).toHaveTextContent('# hello'); }); });