summaryrefslogtreecommitdiffstats
path: root/finished-application/frontend/__tests__/RemoveFromCart.test.js
diff options
context:
space:
mode:
authorRandy Ridge <randyridge@gmail.com>2018-09-14 20:01:25 -0400
committerGitHub <noreply@github.com>2018-09-14 20:01:25 -0400
commit908180c77cd38011eeedcae949613da2a3391e5e (patch)
treeb59bf1aae819a04d453cde72f6e601f5561a740f /finished-application/frontend/__tests__/RemoveFromCart.test.js
parent1f6667d233a4a2e9df977204d83a8f749c050c75 (diff)
parentb3bebda57ba187b7fa10398054b54c05d3fd3555 (diff)
Merge branch 'master' into randyridge/our
Diffstat (limited to 'finished-application/frontend/__tests__/RemoveFromCart.test.js')
-rw-r--r--finished-application/frontend/__tests__/RemoveFromCart.test.js39
1 files changed, 14 insertions, 25 deletions
diff --git a/finished-application/frontend/__tests__/RemoveFromCart.test.js b/finished-application/frontend/__tests__/RemoveFromCart.test.js
index 34229a5..faacc91 100644
--- a/finished-application/frontend/__tests__/RemoveFromCart.test.js
+++ b/finished-application/frontend/__tests__/RemoveFromCart.test.js
@@ -1,12 +1,13 @@
-import React from 'react';
import { mount } from 'enzyme';
+import wait from 'waait';
import toJSON from 'enzyme-to-json';
-import { ApolloConsumer } from 'react-apollo';
import { MockedProvider } from 'react-apollo/test-utils';
-import wait from 'waait';
+import { ApolloConsumer } from 'react-apollo';
import RemoveFromCart, { REMOVE_FROM_CART_MUTATION } from '../components/RemoveFromCart';
-import { fakeCartItem, fakeUser } from '../lib/testUtils';
import { CURRENT_USER_QUERY } from '../components/User';
+import { fakeUser, fakeCartItem } from '../lib/testUtils';
+
+global.alert = console.log;
const mocks = [
{
@@ -16,17 +17,12 @@ const mocks = [
me: {
...fakeUser(),
cart: [fakeCartItem({ id: 'abc123' })],
- orders: [],
},
},
},
},
{
- request: {
- // This is the mutation
- query: REMOVE_FROM_CART_MUTATION,
- variables: { id: 'abc123' },
- },
+ request: { query: REMOVE_FROM_CART_MUTATION, variables: { id: 'abc123' } },
result: {
data: {
removeFromCart: {
@@ -39,19 +35,17 @@ const mocks = [
];
describe('<RemoveFromCart/>', () => {
- it('renders and matches snapshot', () => {
+ it('renders and matches snapshot', async () => {
const wrapper = mount(
- <MockedProvider mocks={mocks}>
+ <MockedProvider>
<RemoveFromCart id="abc123" />
</MockedProvider>
);
expect(toJSON(wrapper.find('button'))).toMatchSnapshot();
});
- it('removes an item from the cart', async () => {
- // 1. Grab a copy of the current client
+ it('removes the item from cart', async () => {
let apolloClient;
- // const wrapper = mountWithApollo(<RemoveFromCart id="abc123" />);
const wrapper = mount(
<MockedProvider mocks={mocks}>
<ApolloConsumer>
@@ -62,17 +56,12 @@ describe('<RemoveFromCart/>', () => {
</ApolloConsumer>
</MockedProvider>
);
- // Fire Off that first mock
- await apolloClient.query({ query: CURRENT_USER_QUERY });
- // check if it worked
- const { me } = apolloClient.readQuery({ query: CURRENT_USER_QUERY });
- expect(me.cart).toHaveLength(1);
- expect(me.cart[0].item.price).toBe(5000);
-
- // simulate a click, which will fire REMOVE_FROM_CART mock
+ const res = await apolloClient.query({ query: CURRENT_USER_QUERY });
+ expect(res.data.me.cart).toHaveLength(1);
+ expect(res.data.me.cart[0].item.price).toBe(5000);
wrapper.find('button').simulate('click');
await wait();
- const { me: me2 } = apolloClient.readQuery({ query: CURRENT_USER_QUERY });
- expect(me2.cart).toHaveLength(0);
+ const res2 = await apolloClient.query({ query: CURRENT_USER_QUERY });
+ expect(res2.data.me.cart).toHaveLength(0);
});
});