Реагировать на встроенную оболочку обновления, которая использует navigation.navigate - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть компонент, который использует Реактивная навигация

В ComponentA вызовет

oncallback = () => { this.setstate({called: true})};
navigation.navigate('ComponentB', {callBack:this.oncallback})

В ComponentB, в какой-то момент он вызовет

this.props.navigation.getParam('callback')();

Я попробовал следующее в моем тесте

const oncallbackMock = jest.fn();
const navigationMock: any = {
  navigate: jest.fn(),
  getParam: jest.fn().mockReturnValue(oncallbackMock),
    };

const wrapper = shallow(<ComponentA navigation={navigationMock} />);
oncallbackMock(); // doesn't seem to call ComponentA's oncallback to set state?

expect(wrapper.state('called')).toEqual(true); // assert failed, it is false
...