MetaPhase-Consulting/State-TalentMAP

View on GitHub
src/Components/SaveNewSearchPrompt/SaveNewSearchPrompt.test.jsx

Summary

Maintainability
A
0 mins
Test Coverage
import { shallow } from 'enzyme';
import sinon from 'sinon';
import toJSON from 'enzyme-to-json';
import SaveNewSearchPrompt from './SaveNewSearchPrompt';

describe('SaveNewSearchPromptComponent', () => {
  let wrapper = null;

  it('is defined', () => {
    wrapper = shallow(
      <SaveNewSearchPrompt
        toggleInput={() => {}}
        newSavedSearchSuccess="success"
      />,
    );
    expect(wrapper).toBeDefined();
  });

  it('calls functions after clicking InteractiveElement', () => {
    const spy = sinon.spy();
    wrapper = shallow(
      <SaveNewSearchPrompt
        toggleInput={spy}
        newSavedSearchSuccess="success"
      />,
    );
    wrapper.find('InteractiveElement').simulate('click');
    sinon.assert.calledOnce(spy);
  });

  it('can handle receiving currently selected saved searches', () => {
    const savedSearch = { id: 1, name: 'test' };
    wrapper = shallow(
      <SaveNewSearchPrompt
        toggleInput={() => {}}
        newSavedSearchSuccess="success"
        currentSavedSearch={savedSearch}
      />,
    );
    expect(wrapper.find(savedSearch.name)).toBeDefined();
    expect(wrapper.find('Edit')).toBeDefined();
  });

  it('matches snapshot', () => {
    wrapper = shallow(
      <SaveNewSearchPrompt
        toggleInput={() => {}}
        newSavedSearchSuccess="success"
      />,
    );
    expect(toJSON(wrapper)).toMatchSnapshot();
  });
});