У меня возникают проблемы с проверкой того, что на моем HOC запускается подпорка.
import { connect } from 'react-redux';
import { compose, lifecycle } from 'recompose';
import { fetchCurrentUser } from '../../actions/users';
import { getUser } from '../../reducers/users';
import User from '../../models/User';
export default Component => compose(
connect(state => ({
user: getUser(state),
}),
{ fetchCurrentUser }),
lifecycle({
componentDidMount() {
if (this.props.user instanceof User) return;
this.props.fetchCurrentUser();
},
}),
)(Component);
Что я хотел бы знать, так это то, является ли fetchCurrentUser
триггером, когда user
НЕпользовательский экземпляр.
Пока у меня есть это в моем тесте:
it.only('fetches user if user is not a User instance', () => {
const setup = () => {
const props = {
user: 'string',
fetchCurrentUser: jest.fn(),
};
const enzymeWrapper = mounting(props);
return {
props,
enzymeWrapper,
};
};
// That returns 0 so false
expect(setup().props.fetchCurrentUser.mock.calls.length).toEqual(1);
});
Кажется, я не могу заменить реквизит, делая это таким образом.Если я регистрирую this.props
в методе жизненного цикла, я никогда не вижу user: 'string'
Заранее спасибо