import ItemComponent from '../components/Item'; import { shallow, mount } from 'enzyme'; import toJSON from 'enzyme-to-json'; const fakeItem = { id: 'ABC123', title: 'A Cool Item', price: 4000, description: 'This item is really cool!', image: 'dog.jpg', largeImage: 'largedog.jpg', }; describe('', () => { it('renders and matches the snapshot', () => { const wrapper = shallow(); expect(toJSON(wrapper)).toMatchSnapshot(); }); it('renders the image properly', () => { const wrapper = shallow(); const img = wrapper.find('img'); expect(img.props().src).toBe(fakeItem.image); expect(img.props().alt).toBe(fakeItem.title); }); it('renders the pricetag and title', () => { const wrapper = shallow(); const PriceTag = wrapper.find('PriceTag'); expect(PriceTag.children().text()).toBe('$40'); expect(wrapper.find('Title a').text()).toBe(fakeItem.title); }); it('renders out the buttons properly', () => { const wrapper = shallow(); const buttonList = wrapper.find('.buttonList'); expect(buttonList.children()).toHaveLength(3); expect(buttonList.find('Link')).toHaveLength(1); expect(buttonList.find('AddToCart').exists()).toBe(true); expect(buttonList.find('DeleteItem').exists()).toBe(true); }); });