ac7e82b0a4
* update tooltip styling
* refactor Tooltip and fix build
* ✅ add Tooltip unit tests
* remove width and height
* update tests and yarn format script
* Apply suggestions from code review
Co-authored-by: Yusuf Seyrek <yusufseyrek@users.noreply.github.com>
---------
Co-authored-by: Yusuf Seyrek <yusufseyrek@users.noreply.github.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { render } from '@testing-library/react'
|
|
|
|
import { Tooltip } from 'components/Tooltip'
|
|
|
|
describe('<Tooltip />', () => {
|
|
const defaultProps = {
|
|
content: <></>,
|
|
}
|
|
|
|
it('should render', () => {
|
|
const { container } = render(<Tooltip {...defaultProps} type='info' />)
|
|
expect(container).toBeInTheDocument()
|
|
})
|
|
|
|
it('should handle `children` prop correctly', () => {
|
|
const { getByTestId } = render(
|
|
<Tooltip {...defaultProps} type='info'>
|
|
<p data-testid='test-child'>Test text</p>
|
|
</Tooltip>,
|
|
)
|
|
expect(getByTestId('test-child')).toBeInTheDocument()
|
|
})
|
|
|
|
it('should handle `className` prop correctly', () => {
|
|
const testClass = 'test-class'
|
|
const { container } = render(<Tooltip {...defaultProps} type='info' className={testClass} />)
|
|
expect(container.getElementsByClassName(testClass)).toHaveLength(1)
|
|
})
|
|
|
|
describe('should handle `underline` prop correctly', () => {
|
|
it('should have border class when children are passed', () => {
|
|
const { container } = render(
|
|
<Tooltip {...defaultProps} type='info' underline>
|
|
<></>
|
|
</Tooltip>,
|
|
)
|
|
expect(container.getElementsByClassName('border-b-1')).toHaveLength(1)
|
|
})
|
|
|
|
it('should not have border class when children are passed', () => {
|
|
const { container } = render(<Tooltip {...defaultProps} type='info' underline />)
|
|
expect(container.getElementsByClassName('border-b-1')).toHaveLength(0)
|
|
})
|
|
})
|
|
})
|