Хорошо, у меня есть компонент под названием <TestButton />
. Внутри <TestButton />
есть два компонента Semantic UI React, <Button />
и <Header>
.
По сути, при нажатии на <Button>
происходит переключение с display: none;
на <Header>
.
Я хочу проверить (я хочу узнать), как утверждать <Header>
display: none;
при нажатии <Button>
.
TestButton.js
const TestButton = (props) => {
return (
<div id='test-button'>
<Header id='please-hide-me' size='huge'>Please Hide Me</Header>
<Button
onClick={
() => {
hiding = !hiding;
let findDOM = document.getElementById(searchForThisID);
if (findDOM) { findDOM.style.display = hiding ? 'none' : ''; }
return hiding;
}
}
>
Sample Toggle
</Button>
</div>
);
};
Мой модульный тест основан на Как проверить стиль для атрибута компонента React с Enzyme. Это выглядит так:
test(`
`, () => {
const wrapper = shallow(<TestButton />);
const button = wrapper.find('Button');
const header = wrapper.find('Header');
const headerStyle = header.get(0).style;
expect(headerStyle).to.have.property('display', '');
wrapper.find('Button').simulate('click');
expect(headerStyle).to.have.property('display', 'none');
}
);
Но у него есть эта ошибка:
TypeError: Cannot read property 'have' of undefined
Что я должен делать?