import { render, fireEvent, screen } from '@testing-library/react-native';
import { MeasurementInput } from '../MeasurementInput';

describe('MeasurementInput', () => {
  it('renders correctly', () => {
    render(<MeasurementInput units="foot" defaultValue={10} />);
    const input = screen.getByLabelText('Enter measurement');
    expect(input).toBeTruthy();
  });

  it('calls onValueSet when value is changed', () => {
    const mockOnValueSet = jest.fn();
    render(<MeasurementInput units="foot" defaultValue={10} onValueSet={mockOnValueSet} />);
    const input = screen.getByLabelText('Enter measurement');
    fireEvent.changeText(input, '20');
    expect(mockOnValueSet).toHaveBeenCalledWith({ l: 20, u: 'foot' });
  });
});
