mirror of
https://github.com/langgenius/dify.git
synced 2026-04-26 02:06:35 +08:00
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { render, screen } from '@testing-library/react'
|
|
import PremiumBadge from './index'
|
|
|
|
describe('PremiumBadge', () => {
|
|
it('renders with default props', () => {
|
|
render(<PremiumBadge>Premium</PremiumBadge>)
|
|
const badge = screen.getByText('Premium')
|
|
expect(badge).toBeInTheDocument()
|
|
expect(badge).toHaveClass('premium-badge-m')
|
|
expect(badge).toHaveClass('premium-badge-blue')
|
|
})
|
|
|
|
it('renders with custom size and color', () => {
|
|
render(
|
|
<PremiumBadge size="s" color="indigo">
|
|
Premium
|
|
</PremiumBadge>,
|
|
)
|
|
const badge = screen.getByText('Premium')
|
|
expect(badge).toBeInTheDocument()
|
|
expect(badge).toHaveClass('premium-badge-s')
|
|
expect(badge).toHaveClass('premium-badge-indigo')
|
|
})
|
|
|
|
it('applies allowHover class when allowHover is true', () => {
|
|
render(
|
|
<PremiumBadge allowHover>
|
|
Premium
|
|
</PremiumBadge>,
|
|
)
|
|
const badge = screen.getByText('Premium')
|
|
expect(badge).toBeInTheDocument()
|
|
expect(badge).toHaveClass('allowHover')
|
|
})
|
|
|
|
it('applies custom styles', () => {
|
|
render(
|
|
<PremiumBadge styleCss={{ backgroundColor: 'red' }}>
|
|
Premium
|
|
</PremiumBadge>,
|
|
)
|
|
const badge = screen.getByText('Premium')
|
|
expect(badge).toBeInTheDocument()
|
|
expect(badge).toHaveStyle('background-color: rgb(255, 0, 0)') // Note: React converts 'red' to 'rgb(255, 0, 0)'
|
|
})
|
|
})
|