textField.test.tsx 1013 B

123456789101112131415161718192021222324252627282930
  1. /* eslint-disable import/no-extraneous-dependencies */
  2. /* eslint-disable no-undef */
  3. import React from 'react';
  4. import { render, cleanup, fireEvent } from '@testing-library/react';
  5. import TextField from '../components/TextField';
  6. describe('TextField component', () => {
  7. afterEach(cleanup);
  8. test('input element', () => {
  9. const { container } = render(<TextField />);
  10. const inputNode = container.querySelector('input') as HTMLElement;
  11. expect(inputNode.tagName).toBe('INPUT');
  12. });
  13. test('textarea element', () => {
  14. const { container } = render(<TextField variant="multiline" />);
  15. const textAreaNode = container.querySelector('TextArea') as HTMLElement;
  16. expect(textAreaNode.tagName).toBe('TEXTAREA');
  17. });
  18. test('onChange event', () => {
  19. const { container } = render(<TextField />);
  20. const inputNode = container.querySelector('input') as HTMLInputElement;
  21. fireEvent.change(inputNode, { target: { value: 'text' } });
  22. expect(inputNode.value).toBe('text');
  23. });
  24. });