ldx-widgets
Version:
widgets
65 lines (40 loc) • 1.78 kB
text/coffeescript
describe 'CircleX', ->
React = require 'react'
CircleX = React.createFactory require('../../src/components/circle_x_button')
TestUtils = require 'react-addons-test-utils'
ReactDOM = require 'react-dom'
#--------------------------------------------------------------------- Default Props
it 'Should have default props', ->
circlex = TestUtils.renderIntoDocument CircleX({})
defaultProps = circlex.props
expect(defaultProps.positionClass).to.equal(null)
expect(defaultProps.rotateOnClick).to.equal(no)
expect(defaultProps.collapsed).to.equal(no)
#--------------------------------------------------------------------- Click handling
it 'Should call the onClick prop when svg is clicked', ->
onClick = sinon.spy()
circlex = TestUtils.renderIntoDocument CircleX {
onClick: onClick
}
el = ReactDOM.findDOMNode(circlex)
TestUtils.Simulate.click el, {}
expect(onClick.calledOnce).to.equal(true)
#--------------------------------------------------------------------- Position
it 'Should Render with appropriate css class when positionClass is passed', ->
pos = 'close'
circlex = TestUtils.renderIntoDocument CircleX {
positionClass: pos
}
el = ReactDOM.findDOMNode(circlex)
expect(el.getAttribute('class')).to.contain(pos)
#--------------------------------------------------------------------- Collapsed
it 'Should Render with appropriate css class when collapsed and rotateOnClick are true', ->
col = yes
rot = yes
isColl = 'is-collapsed'
circlex = TestUtils.renderIntoDocument CircleX {
collapsed: col
rotateOnClick: rot
}
el = ReactDOM.findDOMNode(circlex)
expect(el.getAttribute('class')).to.contain(isColl)