diff options
Diffstat (limited to 'finished-application/frontend/__tests__/CartItem.test.js')
| -rw-r--r-- | finished-application/frontend/__tests__/CartItem.test.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/finished-application/frontend/__tests__/CartItem.test.js b/finished-application/frontend/__tests__/CartItem.test.js new file mode 100644 index 0000000..42dd39b --- /dev/null +++ b/finished-application/frontend/__tests__/CartItem.test.js @@ -0,0 +1,33 @@ +import React from 'react'; +import { shallow, mount } from 'enzyme'; +import toJSON from 'enzyme-to-json'; +import CartItem from '../components/CartItem'; + +const cartItem = { + item: { + price: 5000, + image: 'dog.jpg', + title: 'Fake Item', + }, + id: 'abc123', + quantity: 20, +}; + +describe('<CartItem>', () => { + it('renders and matches snapshot', () => { + const wrapper = shallow(<CartItem cartItem={cartItem} />); + expect(toJSON(wrapper)).toMatchSnapshot(); + }); + + it('renders a single quantity', () => { + const wrapper = shallow(<CartItem cartItem={{ ...cartItem, quantity: 1 }} />); + const p = wrapper.find('p'); + expect(p.text()).toBe('$50 — 1 × $50 each'); + }); + + it('renders multiples', () => { + const wrapper = shallow(<CartItem cartItem={{ ...cartItem, quantity: 23423 }} />); + const p = wrapper.find('p'); + expect(p.text()).toBe('$1,171,150 — 23423 × $50 each'); + }); +}); |
