summaryrefslogtreecommitdiffstats
path: root/frontend/__tests__
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/__tests__')
-rw-r--r--frontend/__tests__/CartItem.test.js33
-rw-r--r--frontend/__tests__/__snapshots__/CartItem.test.js.snap33
-rw-r--r--frontend/__tests__/__snapshots__/CartList.test.js.snap33
3 files changed, 99 insertions, 0 deletions
diff --git a/frontend/__tests__/CartItem.test.js b/frontend/__tests__/CartItem.test.js
new file mode 100644
index 0000000..42dd39b
--- /dev/null
+++ b/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');
+ });
+});
diff --git a/frontend/__tests__/__snapshots__/CartItem.test.js.snap b/frontend/__tests__/__snapshots__/CartItem.test.js.snap
new file mode 100644
index 0000000..1f3cca5
--- /dev/null
+++ b/frontend/__tests__/__snapshots__/CartItem.test.js.snap
@@ -0,0 +1,33 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`<CartItem> renders and matches snapshot 1`] = `
+<styled.li
+ key="abc123"
+>
+ <img
+ alt="Fake Item"
+ src="dog.jpg"
+ width="100"
+ />
+ <div
+ className="cart-item-details"
+ >
+ <h3>
+ Fake Item
+ </h3>
+ <p>
+ $1,000
+ —
+ <em>
+ 20
+ ×
+ $50
+ each
+ </em>
+ </p>
+ </div>
+ <Apollo(RemoveFromCart)
+ id="abc123"
+ />
+</styled.li>
+`;
diff --git a/frontend/__tests__/__snapshots__/CartList.test.js.snap b/frontend/__tests__/__snapshots__/CartList.test.js.snap
new file mode 100644
index 0000000..1f3cca5
--- /dev/null
+++ b/frontend/__tests__/__snapshots__/CartList.test.js.snap
@@ -0,0 +1,33 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`<CartItem> renders and matches snapshot 1`] = `
+<styled.li
+ key="abc123"
+>
+ <img
+ alt="Fake Item"
+ src="dog.jpg"
+ width="100"
+ />
+ <div
+ className="cart-item-details"
+ >
+ <h3>
+ Fake Item
+ </h3>
+ <p>
+ $1,000
+ —
+ <em>
+ 20
+ ×
+ $50
+ each
+ </em>
+ </p>
+ </div>
+ <Apollo(RemoveFromCart)
+ id="abc123"
+ />
+</styled.li>
+`;