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