Я пытаюсь создать тест для моего компонента Class. Я хочу проверить состояние моего компонента и сравнить значения состояния с полученным результатом. У меня есть компонент basi c, который показывает только всплывающую подсказку и показывает параметры в зависимости от значения состояния. Это простой компонент, подобный этому:
import React, { Component } from 'react';
import './DotsTooltip.css';
import { translate } from 'react-i18next';
class DotsTooltipPage extends Component {
constructor(props) {
super(props);
this.state = {
optionsVisible: false,
label: '',
};
}
componentDidMount() {
//code here
}
render() {
const { optionsVisible, label } = this.state;
const { icon } = this.props;
return (
<div className="dots-tooltip-container">
My component content
</div>
);
}
}
const DotsTooltip = translate('translations')(DotsTooltipPage);
export { DotsTooltip };
, поэтому у меня есть тест, подобный этому:
import { DotsTooltip } from './DotsTooltip';
import React from 'react';
import { shallow } from 'enzyme';
const setup = (props = {}, state = null) => {
const wrapper = shallow(<DotsTooltip {...props} />);
if (state) wrapper.setState(state);
return wrapper;
};
describe('DotsToolTip', () => {
let wrapper;
beforeEach(() => {
wrapper = setup({ icon: null });
});
it('render', () => {
expect(wrapper);
});
it('initial state should', () => {
expect(wrapper.state().optionsVisible).toEqual(false);
});
});
Тест не пройден и показывает мне эту ошибку: Невозможно прочитать свойство 'optionsVisible' из null
Я внимательно прочитал документацию по ферменту, но не знаю, почему это происходит.