import { render, screen, fireEvent } from '@testing-library/react';
import { describe, it, expect, vi } from 'vitest';
import { Input } from '../input';
describe('Input', () => {
it('renders with placeholder', () => {
render();
expect(screen.getByPlaceholderText('Enter text')).toBeInTheDocument();
});
it('handles value changes', () => {
const onChange = vi.fn();
render();
fireEvent.change(screen.getByRole('textbox'), { target: { value: 'hello' } });
expect(onChange).toHaveBeenCalledOnce();
});
it('applies disabled state', () => {
render();
expect(screen.getByPlaceholderText('Disabled')).toBeDisabled();
});
it('passes type prop', () => {
render();
const input = screen.getByPlaceholderText('Password');
expect(input).toHaveAttribute('type', 'password');
});
});