Repository URL to install this package:
|
Version:
8.1.0-rc.5 ▾
|
import React from 'react';
import { shallow, mount } from 'enzyme';
import ActivateSuggestions from '../../MultiEmailSelect/ActivateSuggestions';
describe('MultiEmailSelect ActivateSuggestions', () => {
let component;
const silentButtonClickMock = jest.fn();
const closeMenuMock = jest.fn();
const activateSuggestions = {
headline: 'Headline',
text: 'Some text',
buttonText: 'Button text',
buttonLink: '/test',
silentButtonText: 'Siltent button text',
onSilentButtonClick: silentButtonClickMock,
};
it('matches a snapshot', () => {
component = shallow(<ActivateSuggestions closeMenu={closeMenuMock} activateSuggestions={activateSuggestions} />);
expect(component.getElement()).toMatchSnapshot();
});
it('should call the closeMenu function and onSilentButtonClick function when prop is provided and the silent button is clicked', () => {
component = mount(<ActivateSuggestions closeMenu={closeMenuMock} activateSuggestions={activateSuggestions} />);
component.find('.Button--linkBlue').simulate('click');
expect(silentButtonClickMock.mock.calls.length).toBe(1);
expect(closeMenuMock.mock.calls.length).toBe(1);
});
it('should call the closeMenu function and not call the onSilentButtonClick if prop is not provided and the silent button is clicked', () => {
component = mount(<ActivateSuggestions closeMenu={closeMenuMock} activateSuggestions={activateSuggestions} />);
component.setProps({
activateSuggestions: {
headline: 'Headline',
text: 'Some text',
buttonText: 'Button text',
buttonLink: '/test',
silentButtonText: 'Siltent button text',
},
});
component.find('.Button--linkBlue').simulate('click');
expect(silentButtonClickMock.mock.calls.length).toBe(1);
expect(closeMenuMock.mock.calls.length).toBe(2);
});
});