import React from 'react' import { render } from '@testing-library/react' import Input from './Input' describe('Input', () => { it('renders default without crashing', () => { const { container } = render() expect(container.firstChild).toBeInTheDocument() expect(container.querySelector('.label')).toHaveTextContent('My Input') expect(container.querySelector('.input')).toHaveAttribute( 'id', 'my-input' ) }) it('renders as text input by default', () => { const { container } = render() expect(container.querySelector('.input')).toHaveAttribute( 'type', 'text' ) }) it('renders search', () => { const { container } = render( ) expect(container.querySelector('.input')).toHaveAttribute( 'type', 'search' ) expect(container.querySelector('label + div')).toHaveClass( 'inputWrapSearch' ) }) it('renders select', () => { const { container } = render( ) expect(container.querySelector('select')).toBeInTheDocument() }) it('renders textarea', () => { const { container } = render( ) expect(container.querySelector('textarea')).toBeInTheDocument() }) it('renders radios', () => { const { container } = render( ) expect(container.querySelector('input[type=radio]')).toBeInTheDocument() }) it('renders checkboxes', () => { const { container } = render( ) expect( container.querySelector('input[type=checkbox]') ).toBeInTheDocument() }) it('renders date picker', () => { const { container } = render( ) expect( container.querySelector('.react-datepicker-wrapper') ).toBeInTheDocument() }) })