Я пытаюсь проверить на componentDidMount()
.Когда я пытаюсь смонтировать свой компонент, я получаю нулевой экземпляр.Когда я отрисовываю его, componentDidMount никогда не вызывается, потому что я не могу его смонтировать.
Мой код:
class SingleOrderContainer extends Component {
constructor(props) {
super(props)
this.toggle = this.toggle.bind(this)
let initialOrderTab
if(props.location && props.location.state) {
initialOrderTab = props.locationa.state.followUpOrder
}
this.state = {
activeTab: '1',
activeOrderTab: initialOrderTab || 'primary',
firstOrderLoaded: false,
followUpOrderTabs: [],
selectedDoc: null,
noOrderFound: false,
viewPdf: false,
isDragOver: false
}
props.fees.filter()
}
componentDidMount() {
window.addEventListener('dragover', (e) => {
e = e || event
e.preventDefault()
}, false)
window.addEventListener('drop', (e) => {
e = e || event
e.preventDefault()
}, false)
}
Мой тест:
it('componentDidUpdate', () => {
// Shoutout to Connect(Prefetch) for this awesome next line of 100000 dives.
const shallowWrap = shallow(<Router>
<SingleOrderContainer {...props} store={store}/>
</Router>
).dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive().dive()
const componentDidMountSpy = jest.spyOn(shallowWrap.instance(), 'componentDidMount')
mount(<Router><Provider store={store}>{shallowWrap.get(0)}</Provider></Router>)
expect(componentDidMountSpy).toHaveBeenCalledTimes(1)
})
(.dive () спам из-за подключения (PrefetchResourceContainer))
Любая помощь очень ценится:)