Я не могу правильно отобразить MODAL.Я новичок в модульном тестировании и по какой-то причине он не отображается на моем снимке.Используя REACT JS - jest и Enzyme
, вот что у меня есть для моего file.test.js
// defining this.props
const baseProps = {
//all this.props are listed here +
isOpen:true,
describe('Test', () => {
let wrapper;
let tree;
it('Should render using all of the props', () => { } // PASSING AT THE MOMENT
it("renders a modal portal", () => { //FAILING AT THE MOMENT
const isOpen = wrapper.state("isOpen");
const modalPortal = wrapper.find("div.fullmodal");
expect(isOpen).toBeTruthy;
expect(modalPortal).toHaveLength(1);
expect(toJson(wrapper)).toMatchSnapshot();
});
});
Поэтому я попытался заглянуть в file.js и добавил следующее:
constructor(props) {
super(props)
this.state = {
isOpen: false, }
Также добавлено следующее перед Render ()
handleModalOpen = () => this.setState({ isOpen: false });
handleCloseModal = () => this.setState({ ...initialState });
А вот часть Render Modal
<Modal isOpen={this.state.addLayoutModalOpen} style={addLayoutModalStyle}>
<div className='fullmodal'> <Modal isOpen={this.state.addLayoutModalOpen} style={addLayoutModalStyle}>
<div className='fullmodal'>
<Modal isOpen={this.state.showShareModal} style={shareModal}>
<ShareModal // etc...
А вот ошибка:
TypeError: ShallowWrapper::state("isOpen") requires that `state` not be `null` or `undefined`