Я пытаюсь запустить тест, используя шутки и энзимы, но постоянно получаю следующую ошибку:
TypeError: document.getElementById(...).getElementsByTagName is not a function
или:
TypeError: Cannot read property 'getElementsByTagName' of null
.
componentDidUpdate(prevProps, prevState, snapshot) {
var el = document.getElementById('myTable');
var firstHeader = document.getElementById('myTable').getElementsByTagName( 'thead' )[0].getElementsByTagName( 'tr' )[0].getElementsByTagName( 'th' )[0];
dragger.on('drop',(from, to, el) => {
this.props.onHeaderDrop(
document.getElementById('myTable').getElementsByTagName( 'thead' )[0].getElementsByTagName( 'tr' )[0].getElementsByClassName('handle')[from].getAttribute('id'),
Я пытался добавить следующее прямо перед монтированием моего компонента:
const elementMock = { addEventListener: jest.fn() };
jest.spyOn(document, 'getElementById').mockImplementation(() => elementMock);
Или, может быть, мне стоит добавить что-нибудь на мой реквизит: this.props.onHeaderDrop?