Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@doodle/components / controls / Input / __tests__ / MultiEmailSelect / ActivateSuggestions.spec.js
Size: Mime:
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);
  });
});