MetaPhase-Consulting/State-TalentMAP

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

Summary

Maintainability
A
0 mins
Test Coverage
import { shallow } from 'enzyme';
import toJSON from 'enzyme-to-json';
import BidTracker from './BidTracker';
import bidListObject from '../../__mocks__/bidListObject';
import notificationsObject from '../../__mocks__/notificationsObject';
import { bidderUserObject } from '../../__mocks__/userObject';

describe('BidTrackerComponent', () => {
  const props = {
    bidList: bidListObject,
    bidListIsLoading: false,
    acceptBid: () => {},
    declineBid: () => {},
    submitBid: () => {},
    deleteBid: () => {},
    registerHandshake: () => {},
    unregisterHandshake: () => {},
    notifications: notificationsObject,
    notificationsIsLoading: false,
    markBidTrackerNotification: () => {},
    userProfile: bidderUserObject,
    userProfileIsLoading: false,
  };

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

  it('displays an alert when bidListIsLoading is false and bidList.results.length === 0', () => {
    const wrapper = shallow(
      <BidTracker {...props} bidListIsLoading={false} bidList={{ results: [] }} />,
    );
    expect(wrapper.find('Alert').exists()).toBe(true);
    expect(wrapper.find('Alert').props().title).toBe('Bid list empty');
  });

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

  it('matches snapshot when bidListIsLoading is true', () => {
    const wrapper = shallow(
      <BidTracker {...props} bidListIsLoading />,
    );
    expect(toJSON(wrapper)).toMatchSnapshot();
  });
});