Юнит-тест Реагирует на высоту элемента, полученную с помощью iframe - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь написать некоторые внешние тесты и пытаюсь написать модульный тест для моего реагирующего компонента, который имеет встроенный Iframe. Div-обертка (div.embed-отзывчивый) получает высоту из iframe. Я хочу написать несколько тестов для этого. Один тест охватывает сценарий проверки правильности отображения iframe, который работает. Я хочу написать еще один тест, который проверяет высоту, т. Е. Если высота установлена ​​равной высоте iframe. Но я не уверен, как поступить с этим. Я хочу написать это, используя Jest.

Ниже приведен код.

import React, {Component} из'act '; import {env} из '../../env';

const iFrameInitialSize = 550;

класс экспорта MenuContainer расширяет компонент {

constructor() {
    super();
    this.state = {
        height: iFrameInitialSize,
    };
    this.updateDimensions = this.updateDimensions.bind(this);
}

componentDidMount() {
    window.addEventListener('message', this.updateDimensions, false);
}

componentWillUnmount() {
    window.removeEventListener('message', this.updateDimensions, false);
}

updateDimensions(event) {
    if (event.origin === env.runtimeConfig.backend.IFRAME_URL) {
        this.setState({
            height: event.data,
        });
    }
}

render() {
    return (
        <div className='embed-responsive' style={{ height: this.state.height, overflow:'hidden', scrolling:'no' }}>
            <iframe
                className='embed-responsive-item'
                src={env.runtimeConfig.backend.IFRAME_URL}
                style={{ minHeight: '100%' }}/>
        </div>

    );
}

}

Я хочу проверить, что после того, как слушатель выполнил updatedDimensions (), правильная высота была установлена ​​на значение div, равное высоте iframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...