summaryrefslogtreecommitdiffstats
path: root/finished-application/frontend/__tests__/CartItem.test.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-06-14 16:44:21 -0400
committerWes Bos <wesbos@gmail.com>2018-06-14 16:44:21 -0400
commitb1600adec47a04f60e1da07d94a3ed3906ff5aee (patch)
tree828f786da6806d7237ee5cbc5df61e552353b85b /finished-application/frontend/__tests__/CartItem.test.js
parenta95e08cd2dd5d7ec0a0412adae02515a5f9cec4f (diff)
starter files
Diffstat (limited to 'finished-application/frontend/__tests__/CartItem.test.js')
-rw-r--r--finished-application/frontend/__tests__/CartItem.test.js33
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');
+ });
+});