Onclick - Элемент не вызывается - Невозможно найти их - PullRequest
0 голосов
/ 08 марта 2019

Невозможно протестировать эти 2 события onClick - не уверен, правильно ли это или правильный подход. Слишком много строк кода Использование Jest и Enzyme - React JS

Вот тестовый файл

it('should call  Method on button click', () => {
  baseProps.setSelectedFormJSON.mockClear();
 wrapper.setProps({
 });
 wrapper.setState({
 loadSpinner: false,
});
  wrapper.find('#list-element-form').at(0).simulate('click')
expect(baseProps.setSelectedFormJSON).toHaveBeenCalled();
});


it('should test  2nd button click', () => {
baseProps.deleteFormConfirm.mockClear();
wrapper.setState({  })
wrapper.find('#deletetest-Form').simulate('click',)
expect(baseProps.deleteFormConfirm).toHaveBeenCalled();

});

Я получаю следующую ошибку для обоих тестов: Метод «имитация» предназначен для запуска на 1 узле. Вместо этого найдено 0.

Вот часть файла .js:

   list = allForms.map( (form) => {
  let viewType = 'DFT';
  if(form.System){
    viewType = 'SYS';
  }
  if(services[functions.getServiceFromName(form.Name)]) {
    services[functions.getServiceFromName(form.Name)].push(
      <div id='list-element-form' value={form.Form_UID} onClick={() => {this.handleFormClick(form)}} >
      <div className={`paneltile panel-${viewType}`}>
     <div id='deletetest-Form' onClick={ (e) => {this.props.deleteFormConfirm(e, form)}}> 
              <FontAwesome className='fa fa-times' name='view-close-x' size='2x'/>
       </div>

Метод HandleFormClick

  handleFormClick = (json) => {
let id = json.Form_UID ? json.Form_UID : json;
this.setState({loadSpinner: true})
fetch(`${this.props.services.Form.URL}/${id}`, {
  headers: {
    'Content-Type': 'application/json',
    'Ocp-Apim-Subscription-Key': this.props.services.Form.subscription_key,
  },
  method: 'GET',
  credentials: 'include',
}).then(res => res.json())
.then(json => {
    this.props.setSelectedFormJSON(json, true);
    this.setState({loadSpinner: false})
})

}

Цель состоит в том, чтобы сдать эти 2 теста, используя те же настройки, что и в моем файле теста.

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