-
Notifications
You must be signed in to change notification settings - Fork 98
/
Badge.test.tsx
38 lines (32 loc) 路 1.14 KB
/
Badge.test.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import { render, screen } from '@testing-library/react'
import { createRef } from 'react'
import Badge from './Badge'
describe('Badge', () => {
it('renders a default state', () => {
render(<Badge>Test</Badge>)
expect(screen.getByLabelText('Badge')).toBeTruthy()
})
it('renders a variant', () => {
render(<Badge variant="outline">Test</Badge>)
expect(screen.getByLabelText('Badge')).toHaveClass('badge-outline')
})
it('renders a size', () => {
render(<Badge size="xs">Test</Badge>)
expect(screen.getByLabelText('Badge')).toHaveClass('badge-xs')
})
it('renders a color', () => {
render(<Badge color="success">Test</Badge>)
expect(screen.getByLabelText('Badge')).toHaveClass('badge-success')
})
it('renders a responsive', () => {
render(<Badge responsive>Test</Badge>)
expect(screen.getByLabelText('Badge')).toHaveClass(
'badge-xs md:badge-sm lg:badge-md xl:badge-lg'
)
})
it('should be able to access the native div', () => {
const badgeRef = createRef<HTMLDivElement>()
render(<Badge ref={badgeRef} />)
expect(screen.getByLabelText('Badge')).toEqual(badgeRef.current)
})
})