MetaPhase-Consulting/State-TalentMAP

View on GitHub
src/Components/PositionDetailsItem/PositionDetailsDescription/ViewMoreLink/ViewMoreLink.test.jsx

Summary

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

describe('ViewMoreLink', () => {
  const props = {
    defaultValue: false,
    onChange: () => {},
  };

  it('is defined', () => {
    const wrapper = shallow(
      <ViewMoreLink {...props} />,
    );
    expect(wrapper).toBeDefined();
  });

  it('toggles text on click', () => {
    const wrapper = shallow(
      <ViewMoreLink {...props} />,
    );
    expect(wrapper.instance().state.shouldDisplayViewMore).toBe(false);
    expect(wrapper.find('InteractiveElement').render().text()).toBe('View less');
    wrapper.find('InteractiveElement').simulate('click');
    expect(wrapper.instance().state.shouldDisplayViewMore).toBe(true);
    expect(wrapper.find('InteractiveElement').render().text()).toBe('View more');
  });

  it('matches snapshot', () => {
    const wrapper = shallow(
      <ViewMoreLink {...props} />,
    );
    expect(toJSON(wrapper)).toMatchSnapshot();
  });
});