UNPKG

1.34 kBJavaScriptView Raw
1import React from 'react';
2import { render, screen } from '@testing-library/react';
3import { Badge } from '..';
4import {
5 testForChildrenInComponent,
6 testForCustomTag,
7 testForDefaultClass,
8 testForDefaultTag,
9} from '../testUtils';
10
11describe('Badge', () => {
12 it('should render a span by default', () => {
13 testForDefaultTag(Badge, 'span');
14 });
15
16 it('should render an anchor when when href is provided', () => {
17 render(
18 <Badge href="#" data-testid="badge">
19 Yo!
20 </Badge>,
21 );
22 expect(screen.getByTestId('badge').tagName.toLowerCase()).toBe('a');
23 });
24
25 it('should render a custom tag when provided', () => {
26 testForCustomTag(Badge);
27 });
28
29 it('should render children', () => {
30 testForChildrenInComponent(Badge);
31 });
32
33 it('should render badges with secondary color', () => {
34 testForDefaultClass(Badge, 'bg-secondary');
35 });
36
37 it('should render Badges with other colors', () => {
38 render(
39 <Badge color="danger" data-testid="badge">
40 Danger Badge
41 </Badge>,
42 );
43 expect(screen.getByTestId('badge')).toHaveClass('bg-danger');
44 });
45
46 it('should render Badges as pills', () => {
47 render(
48 <Badge pill data-testid="badge">
49 Pill Badge
50 </Badge>,
51 );
52 expect(screen.getByTestId('badge')).toHaveClass('rounded-pill');
53 });
54});