summaryrefslogtreecommitdiffstats
path: root/finished-application/frontend/__tests__/RemoveFromCart.test.js
diff options
context:
space:
mode:
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);
});
});