У меня есть компонент, который отображает кнопку.Я хочу проверить, если этот щелчок кнопки устанавливает состояние в 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 теста и написать другой?