@navinc/base-react-components
Version:
Nav's Pattern Library
131 lines (102 loc) • 3.96 kB
JavaScript
import { Card } from './'
import { renderWithContext } from '../../tests/with-app-context.js'
import { screen, fireEvent } from '@testing-library/react'
// import { KebabMenu } from './parts/kebab-menu.js'
describe('Base Components: Card', () => {
// const event = { stopPropagation: () => {} }
describe('toggleKebabMenu', () => {
it('updates state to hide/show KebabMenu', () => {
renderWithContext(<Card kebabMenuItems={[{}]} />)
expect(screen.queryByTestId('deprecated-card:kebab-menu')).not.toBeInTheDocument()
fireEvent.click(screen.getByTestId('deprecated-card:kebab'))
expect(screen.getByTestId('deprecated-card:kebab-menu')).toBeInTheDocument()
})
})
// describe('togglehideCard', () => {
// it('updates state to hide/show Card', () => {
// render(<Card />)
// expect(shallowWrapper.state().isCardHidden).toBeFalsy()
// instance.togglehideCard(event)
// expect(shallowWrapper.state().isCardHidden).toBeTruthy()
// })
// })
// describe('dismissCard', () => {
// it('updates state to hide card', () => {
// render(<Card />)
// expect(shallowWrapper.state().isCardDismissed).toBeFalsy()
// instance.dismissCard(event)
// expect(shallowWrapper.state().isCardDismissed).toBeTruthy()
// })
// })
// describe('setHeight', () => {
// render(<Card />)
// it('doesnt update the state if shouldNotAnimate is true', (done) => {
// shallowWrapper.setProps({
// shouldNotAnimate: true,
// })
// shallowWrapper.setState({
// contentHeight: null,
// })
// instance.setHeight()
// setTimeout(() => {
// expect(instance.state.contentHeight).toBe(null)
// done()
// }, 250)
// })
// it('updates state to the rendered height of the card', (done) => {
// render(<Card />)
// shallowWrapper.setState({
// contentHeight: null,
// })
// instance.setHeight()
// setTimeout(() => {
// expect(shallowWrapper.state().contentHeight).toEqual(expect.any(Number))
// done()
// }, 300)
// })
// })
// describe('render', () => {
// it('renders the CardHeader if there is cardLabel', () => {
// render(<Card cardLabel="asdf" />)
// expect(shallowWrapper.find(CardHeader).exists()).toBe(true)
// })
// it('doesnt render the CardHeader if there is no cardLabel', () => {
// render(<Card />)
// expect(shallowWrapper.find(CardHeader).exists()).toBe(false)
// })
// it('renders the KebabMenu if isKebabMenuVisible = true', () => {
// render(<Card />)
// shallowWrapper.setState({
// isKebabMenuVisible: true,
// })
// expect(shallowWrapper.find(KebabMenu).exists()).toBe(true)
// })
// it('doesnt render the KebabMenu if shouldShowKebabMenu = false', () => {
// render(<Card />)
// expect(shallowWrapper.find(KebabMenu).exists()).toBe(false)
// })
// it('renders the Footer if hasfooter = true and onNext exists', () => {
// render(<Card hasFooter onNext={() => {}} />)
// expect(shallowWrapper.find(Footer).exists()).toBe(true)
// })
// it('doesnt render the HeightController if controlledHeight = false', () => {
// render(<Card />)
// expect(shallowWrapper.find(Footer).exists()).toBe(false)
// })
// })
// describe('componentDidMount', () => {
// it('calls setHeight when height changes', () => {
// render(<Card />)
// instance.setHeight = jest.fn()
// shallowWrapper.setState({ contentHeight: 5 })
// instance.componentDidMount()
// expect(instance.setHeight).toHaveBeenCalled()
// })
// it(`height is set on mount`, () => {
// render(<Card />)
// instance.setHeight = jest.fn()
// instance.componentDidMount()
// expect(instance.setHeight).toHaveBeenCalled()
// })
// })
})