blob: 313fdb524f1ccb54f0f0be78b192568378ceb674 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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('<Item/>', () => {
it('renders and matches the snapshot', () => {
const wrapper = shallow(<ItemComponent item={fakeItem} />);
expect(toJSON(wrapper)).toMatchSnapshot();
});
it('renders the image properly', () => {
const wrapper = shallow(<ItemComponent item={fakeItem} />);
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(<ItemComponent item={fakeItem} />);
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(<ItemComponent item={fakeItem} />);
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);
});
});
|