import { describe, it, expect, jest } from '@jest/globals'; import { render, screen, fireEvent } from '@testing-library/react'; import { PropertyEditors } from './PropertyEditors'; describe('PropertyEditors', () => { it('should render property editors for text properties', () => { const props = { text: 'Hello' }; const onChange = jest.fn(); render(); const input = screen.getByDisplayValue('Hello'); fireEvent.change(input, { target: { value: 'World' } }); expect(onChange).toHaveBeenCalledWith('text', 'World'); }); it('should render number input for number properties', () => { const props = { width: 100 }; const onChange = jest.fn(); render(); const input = screen.getByDisplayValue('100'); fireEvent.change(input, { target: { value: '200' } }); expect(onChange).toHaveBeenCalledWith('width', 200); }); it('should render checkbox for boolean properties', () => { const props = { disabled: false }; const onChange = jest.fn(); render(); const checkbox = screen.getByRole('checkbox'); fireEvent.click(checkbox); expect(onChange).toHaveBeenCalledWith('disabled', true); }); });