1 | import React from 'react';
|
2 | import { render, screen } from '@testing-library/react';
|
3 | import '@testing-library/jest-dom';
|
4 | import { ModalHeader } from '..';
|
5 | import { testForCustomClass, testForDefaultClass } from '../testUtils';
|
6 |
|
7 | describe('ModalHeader', () => {
|
8 | it('should render with "modal-header" class', () => {
|
9 | testForDefaultClass(ModalHeader, 'modal-header');
|
10 | });
|
11 |
|
12 | it('should render additional classes', () => {
|
13 | testForCustomClass(ModalHeader);
|
14 | });
|
15 |
|
16 | it('should render close button', () => {
|
17 | render(
|
18 | <ModalHeader toggle={() => {}} data-testid="test" className="other">
|
19 | Yo!
|
20 | </ModalHeader>,
|
21 | );
|
22 | const node = screen.getByTestId('test').querySelector('button');
|
23 | expect(node.tagName.toLowerCase()).toBe('button');
|
24 | expect(node).toHaveClass('btn-close');
|
25 | });
|
26 |
|
27 | it('should render custom tag', () => {
|
28 | render(<ModalHeader tag="main">hello</ModalHeader>);
|
29 | expect(screen.getByText(/hello/i).tagName.toLowerCase()).toBe('main');
|
30 | });
|
31 |
|
32 | it('should render custom wrapping tag', () => {
|
33 | render(<ModalHeader data-testid="test" wrapTag="main" />);
|
34 | expect(screen.getByTestId('test').tagName.toLowerCase()).toMatch('main');
|
35 | });
|
36 | });
|
37 |
|
\ | No newline at end of file |