Ожидаемая фиктивная функция была вызвана, но она не вызывалась - PullRequest
0 голосов
/ 24 октября 2018

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

it("calls the onSearch method when searching", () => {
    const testFilter = {
      filterIndex: "testFilter4",
      searchResults: [],
      selectedItems: [],
      isComplete: false,
      isSearchMultiSelect: true,
      entity: "Organization"
    };
    const spy = jest.fn();
    const component = shallow(
      <FilterSelect
        {...preloadedState.main}
        filter={testFilter}
        onSearch={spy}
      />
    );
    component.find("Select").simulate("search", "term1");
    expect(spy).toHaveBeenCalledWith("Organization", "testFilter4", "term1");
  });

Я получаю эту ошибку:

expect(jest.fn()).toHaveBeenCalledWith(expected)

    Expected mock function to have been called with:
      ["Organization", "testFilter4", "term1"]
    But it was not called.

Также вот json "component"

{ node:
         { nodeType: 'class',
           type:
            { [Function: Select]
              Option: [Function],
              OptGroup: [Function],
              defaultProps: [Object],
              propTypes: [Object],
              contextTypes: [Object] },
           props:
            { showSearch: true,
              placeholder: 'Select',
              value: [],
              onSelect: [Function: onSelect],
              disabled: false,
              notFoundContent: 'No results found',
              filterOption: false,
              onSearch: [Function: onSearch],
              children: [],
              prefixCls: 'ant-select',
              transitionName: 'slide-up',
              choiceTransitionName: 'zoom' },
           key: undefined,
           ref: null,
           instance: null,
           rendered: [] },
        type: 'Select',
        props:
         { showSearch: true,
           placeholder: 'Select',
           value: [],
           onSelect: [Function: onSelect],
           disabled: false,
           notFoundContent: 'No results found',
           filterOption: false,
           onSearch: [Function: onSearch],
           prefixCls: 'ant-select',
           transitionName: 'slide-up',
           choiceTransitionName: 'zoom' },
        children: null,
        '$$typeof': Symbol(react.test.json) }

Также здесь есть часть Select для onSearch:

onSearch={term => {
          this.handleSearch(filter.entity, filter.filterIndex, term);
        }}

При просмотре мелкого Json 'Select' есть и есть onSearch, все выглядит хорошо ...

Не уверен, что здесь происходит, и это сводит меня с ума.Спасибо

1 Ответ

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

Произошел отказ, препятствующий запуску этого теста.

Это исправило это: https://gist.github.com/apieceofbart/d28690d52c46848c39d904ce8968bb27

...