onClick внутри - PullRequest
       3

onClick внутри

1 голос
/ 01 апреля 2019

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

Вот код, который я пытаюсь проверить. Невозможно протестировать оба события клика из-за setState

<td className="centertext">
   <input type='radio' name='req' onClick={() => {this.handleRequestClick(titles[i][j].RequestId, titles[i][j].Name, titles[i][j].Content)}} />
 </td>
 <td className="modal-add-window-td">{i}</td>
 <td className="modal-add-window-td">
   <div>{titles[i][j].Name}</div>
 </td>
 <td className="modal-add-window-td">
   <img className='request-info'src={infoSVG} alt='Info' onClick={() => {this.showDescription(titles[i][j].Name, titles[i][j].Description)}} />
 </td>

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

Использование Jest и энзимов - маршрутизатор памяти и монтирование компонентов

     it("Test click event on show Description", () => {
     wrapper.find('AddViewModal').setState({
        titles:[[{
         Requests:{
           Name:""
           }}
       ]]

       }),
      wrapper.update();  

  expect(wrapper.find('AddViewModal').find('img').props().src).toEqual('../../Images/chartImages/info.svg')
     //wrapper.find('AddViewModal').find('img[alt="Info"]').simulate('click')

     });

Ответы [ 2 ]

1 голос
/ 04 апреля 2019

Убедитесь, что вы получили правильное состояние, в противном случае узел не будет найден

   it("Test click event on show Description", () => {
   baseProps.onClick.mockClear();
   wrapper.find('Component').setState({
     Requests: [{
      Name: 'testing'
    }]  
  })
 wrapper.update();
 wrapper.find('Componentl').find('img').simulate('click')
1 голос
/ 02 апреля 2019

вы пытались найти FindWhere?

element.findWhere(node => node.hasClass("request-info"))

Если это не так, можете ли вы проверить, проходит ли findWhere узел, на который вы нацеливаетесь?

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