/* eslint-disable no-undef */ import React from 'react'; import { render, cleanup, fireEvent } from '@testing-library/react'; import '@testing-library/jest-dom'; import InputBox from '../components/InputBox'; import TextareaBox from '../components/TextareaBox'; describe('Input Box component', () => { afterEach(cleanup); test('input element', () => { const { container } = render(); const inputNode = container.querySelector('input') as HTMLElement; expect(inputNode.tagName).toBe('INPUT'); }); test('textarea element', () => { const { container } = render(); const textAreaNode = container.querySelector('TextArea') as HTMLElement; expect(textAreaNode.tagName).toBe('TEXTAREA'); }); test('onChange event', () => { const { container } = render(); const inputNode = container.querySelector('input') as HTMLInputElement; fireEvent.change(inputNode, { target: { value: 'text' } }); expect(inputNode.value).toBe('text'); }); test('check disabled input', () => { const handleChange = jest.fn(); const { getByTestId } = render( , ); fireEvent.change(getByTestId('input'), { target: { value: 'text' } }); expect(handleChange).toBeCalledTimes(0); expect(getByTestId('input')).toBeDisabled(); }); });