MetaPhase-Consulting/State-TalentMAP

View on GitHub
src/Components/DefinitionList/Definition/Definition.test.jsx

Summary

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

const mock = {
  term: 'Term #1',
  definition: 'Definition #1',
};

describe('Definition', () => {
  const props = {
    id: 'definition',
    className: 'definition-test',
  };

  it('can render `term` prop', () => {
    const wrapper = shallow(<Definition {...mock} />);
    expect(wrapper.find('dt').text()).toEqual(`${mock.term}:`);
  });

  it('can render `definition` prop', () => {
    const wrapper = shallow(<Definition {...mock} />);
    expect(wrapper.find('dd').text()).toEqual(mock.definition);
  });

  it('can recieve other props such as `className` and `id`', () => {
    const wrapper = shallow(<Definition {...props} />);

    expect(wrapper.find(`#${props.id}`).exists()).toBe(true);
    expect(wrapper.find(`.${props.className}`).exists()).toBe(true);
  });

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