Фермент: Как я мог издеваться над функцией, которая передавалась как реквизит - PullRequest
0 голосов
/ 19 октября 2018

Я пишу тестирование с помощью Enzyme, но не знаю, как смоделировать функцию, которая передается как реквизит.

it("should do not login when submit a user that not exist", () => {
        const mock = jest.fn(() => true);
        const wrapper = shallow(<HomeFormComponent form={{getFieldDecorator: () => mock()}}/>);
        wrapper.find(Form).simulate("submit", {
            preventDefault: () => {},
        });
        console.log(wrapper)
    });

Ошибка.

TypeError: getFieldDecorator(...) is not a function

В моем индексе.JS

      render() {
      const { getFieldDecorator } = this.props.form;
      }
      return (<FormItemContainer>
            {getFieldDecorator("password", {
              rules: [
                { required: true, message: "Please input your Password!" }
              ]
            })(
              <Input
                prefix={
                  <Icon type="lock" style={{ color: "rgba(0,0,0,.25)" }} />
                }
                type="password"
                placeholder="Password"
              />
            )}
          </FormItemContainer>)

1 Ответ

0 голосов
/ 20 октября 2018

это будет работать?

const mock = jest.fn();
const wrapper = shallow(<HomeFormComponent form={{getFieldDecorator: mock}}/>);
...