Играюсь с тестами (karma, mocha, chai) и не могу понять, почему не работает эмуляция клика. Что неправильно делаю?
Тест:import React from 'react'
import TestUtils from 'react-addons-test-utils'
import Home from '../app/views/home/home'
describe('home page', () => {
let home
beforeEach(() => {
home = TestUtils.renderIntoDocument(<Home />)
})
it('should be abble to hide the content by clicking', () => {
let title = TestUtils.scryRenderedDOMComponentsWithClass(home, 'title')
TestUtils.Simulate.click(home)
expect(title.length).to.equal(0)
})
})
Компонент:import React, { Component } from 'react'
class Home extends Component {
constructor (props) {
super(props)
this.state = {
show: true
}
}
handleClick () {
this.setState({
show: !this.state.show
})
}
render () {
let getTitle = () => {
return this.state.show ? (
<h1 className='title'>Home page</h1>
) : ''
}
return (
<div className='page' onClick={this.handleClick}>
{getTitle()}
</div>
)
}
}
export default Home
Клик должен рендерить | не рендерить заголовок по состоянию стейта. Короче, после клика, title.length должен стать 0, но он остается 1