Джест / Фермент |Ovverride defaultProps, для конкретного теста - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть компонент, который отображает кнопку.Я хочу проверить, если этот щелчок кнопки устанавливает состояние в true, и наоборот, а также, правильно ли отображается модал.

У меня есть несколько defaultProps, которые не позволяют компоненту Iхочу сделать, чтобы сделать.Если securityMode равно '', он не должен корректно отображать компонент.Если это режим IN NORMAL, он должен отобразить компонент с нужной мне кнопкой.Вопрос в следующем:

Как переопределить defaultProps для конкретного теста, чтобы визуализировать кнопку?

Вот код теста:

const defaultProps = {
  securityMode: '',
  listUsers: () => null
};

describe('UserOverviewScreen', () => {
  let wrapper;
  let listUsers;
  let openCreateUserModal;
  let closeCreateUserModal;
  beforeEach(() => {
    listUsers = jest.fn();
    notify = jest.fn();
    openCreateUserModal = jest.fn();
    closeCreateUserModal = jest.fn();

    wrapper = shallow(
      <UserOverviewScreen
        {...defaultProps}
        openCreateUserModal={openCreateUserModal}
        closeCreateUserModal={closeCreateUserModal}
        notify={notify}
        listUsers={listUsers}
      />,
      {
        disableLifecycleMethods: false
      }
    );
  });

Вышеуказанные прогоны beforeEach().И ниже, тесты, которые не проходят:

    it('UserOverviewScreen, calls listUsers props function', () => {
      const response = {
        username: 'username',
        group: 'group'
      };

      console.log(wrapper.debug());
      wrapper.instance().onCreateUserSuccess(response);
      expect(listUsers).toHaveBeenCalled();
    });

    it('UserOverviewScreen, call openCreateUserModal when New User is clicked', () => {
      const button = wrapper.find('#new-user-button');
      const event = button.simulate('click');
      expect(event).toBeCalled();
      expect(event.state('isCreateUserModalOpen')).toBe(true);
    });

    it('UserOverviewScreen, call closeCreateUserModal when New User is clicked', () => {
      expect(wrapper.state('isCreateUserModalOpen')).toBe(false);
    });

Может кто-нибудь помочь мне исправить эти 2 теста и написать другой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...