diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-05-04 10:38:32 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-05-04 10:38:32 -0400 |
| commit | 06003b7a5f66f61bde6bb2fc9443c8cf3bc8bd9b (patch) | |
| tree | 4c47ee7c8c27db7d0b6ba9180ef49a720c06ba3a /frontend/__tests__/RemoveFromCart.test.js | |
| parent | b6b0ee9c2ef43f4eef4df403897bcd8fd9ad2957 (diff) | |
First apollo mutation test
Diffstat (limited to 'frontend/__tests__/RemoveFromCart.test.js')
| -rw-r--r-- | frontend/__tests__/RemoveFromCart.test.js | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/frontend/__tests__/RemoveFromCart.test.js b/frontend/__tests__/RemoveFromCart.test.js index a640722..acf5755 100644 --- a/frontend/__tests__/RemoveFromCart.test.js +++ b/frontend/__tests__/RemoveFromCart.test.js @@ -27,25 +27,36 @@ const mocks = [ query: REMOVE_FROM_CART_MUTATION, variables: { id: 'abc123' }, }, - result: { data: { removeFromCart: { id: 'abc123' } } }, - }, - { - request: { query: CURRENT_USER_QUERY }, result: { data: { - me: { name: 'hi', cart: [], permissions: [], orders: [], id: 22, email: 'jame@apollo.com' }, + removeFromCart: { + __typename: 'CartItem', + id: 'abc123', + }, }, }, }, + // { + // request: { query: CURRENT_USER_QUERY }, + // result: { + // data: { + // me: { name: 'hi', cart: [], permissions: [], orders: [], id: 22, email: 'jame@apollo.com' }, + // }, + // }, + // }, ]; describe('<RemoveFromCart/>', () => { it('renders and matches snapshot', () => { - const wrapper = mountWithApollo(<RemoveFromCart id="123" />); + const wrapper = mount( + <MockedProvider mocks={mocks}> + <RemoveFromCart id="abc123" /> + </MockedProvider> + ); expect(toJSON(wrapper.find('button'))).toMatchSnapshot(); }); - fit('removes an item from the cart', async () => { + it('removes an item from the cart', async () => { // 1. Grab a copy of the current client let apolloClient; // const wrapper = mountWithApollo(<RemoveFromCart id="abc123" />); @@ -64,21 +75,12 @@ describe('<RemoveFromCart/>', () => { // 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); + expect(me.cart[0].item.price).toBe(5000); // simulate a click, which will fire REMOVE_FROM_CART mock wrapper.find('button').simulate('click'); await wait(); const { me: me2 } = apolloClient.readQuery({ query: CURRENT_USER_QUERY }); - // console.log('----------'); - // console.log(me2); - // console.log('----------'); - // expect(me2.cart).toHaveLength(0); - // await wait(2); - // // the updated query from the mutation update - // await apollo.query({ query: CURRENT_USER_QUERY, fetchPolicy: 'cache-only' }) - - // // sync - // const user = apollo.readQuery({ query: CURRENT_USER_QUERY }) + expect(me2.cart).toHaveLength(0); }); }); |
