You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
926 B
37 lines
926 B
import React from 'react'
|
|
import assert from 'assert'
|
|
import sinon from 'sinon'
|
|
import { shallow } from 'enzyme'
|
|
import { DropdownMenuItem } from '../components/dropdown.js'
|
|
|
|
describe('', () => {
|
|
let wrapper
|
|
const onClickSpy = sinon.spy()
|
|
const closeMenuSpy = sinon.spy()
|
|
|
|
beforeEach(() => {
|
|
wrapper = shallow(
|
|
<DropdownMenuItem
|
|
onClick = {onClickSpy}
|
|
style = {{test: 'style'}}
|
|
closeMenu = {closeMenuSpy}
|
|
>
|
|
</DropdownMenuItem>
|
|
)
|
|
})
|
|
|
|
it('renders li with dropdown-menu-item class', () => {
|
|
assert.equal(wrapper.find('li.dropdown-menu-item').length, 1)
|
|
})
|
|
|
|
it('adds style based on props passed', () => {
|
|
assert.equal(wrapper.prop('style').test, 'style')
|
|
})
|
|
|
|
it('simulates click event and calls onClick and closeMenu', () => {
|
|
wrapper.prop('onClick')()
|
|
assert.equal(onClickSpy.callCount, 1)
|
|
assert.equal(closeMenuSpy.callCount, 1)
|
|
})
|
|
|
|
})
|
|
|