Как получить доступ к назначенному компоненту prop в ферменте

Это мой компонент:

const Cmp = (props) => (
  <List>
    <ListItem primaryText='test' leftCheckbox={<Checkbox onCheck={props.onCheck} />} />
  </List>
);

Я хочу проверить проверку флажка. Вот мой тест:

it('test', (done) => {
  const handleCheck = () => {
    done();
  }

  const wrapper = shallow(<Cmp onCheck={handleCheck} />);
  wrapper.find('the checkbox').simulate('check');
});

Как найти флажок?

1 ответ

  1. Вам нужно найти ListItemэлемент, а затем получить propи вызвать simulateего:

    it('test', (done) => {
      const handleCheck = () => {
        done();
      }
    
      const wrapper = shallow(<Cmp onCheck={handleCheck} />);
      const checkBox = shallow(wrapper.find('ListItem').first().prop('leftCheckbox')())
      checkbox.simulate('check');
    });