diff options
| author | Randy Ridge <randyridge@gmail.com> | 2018-09-14 20:01:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-14 20:01:25 -0400 |
| commit | 908180c77cd38011eeedcae949613da2a3391e5e (patch) | |
| tree | b59bf1aae819a04d453cde72f6e601f5561a740f /finished-application/frontend/__tests__/Signup.test.js | |
| parent | 1f6667d233a4a2e9df977204d83a8f749c050c75 (diff) | |
| parent | b3bebda57ba187b7fa10398054b54c05d3fd3555 (diff) | |
Merge branch 'master' into randyridge/our
Diffstat (limited to 'finished-application/frontend/__tests__/Signup.test.js')
| -rw-r--r-- | finished-application/frontend/__tests__/Signup.test.js | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/finished-application/frontend/__tests__/Signup.test.js b/finished-application/frontend/__tests__/Signup.test.js index 2a668a6..e18bdee 100644 --- a/finished-application/frontend/__tests__/Signup.test.js +++ b/finished-application/frontend/__tests__/Signup.test.js @@ -1,29 +1,27 @@ -import React from 'react'; import { mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; import wait from 'waait'; -import { ApolloConsumer } from 'react-apollo'; +import toJSON from 'enzyme-to-json'; import { MockedProvider } from 'react-apollo/test-utils'; +import { ApolloConsumer } from 'react-apollo'; import Signup, { SIGNUP_MUTATION } from '../components/Signup'; -import { fakeUser } from '../lib/testUtils'; import { CURRENT_USER_QUERY } from '../components/User'; +import { fakeUser } from '../lib/testUtils'; function type(wrapper, name, value) { wrapper.find(`input[name="${name}"]`).simulate('change', { - target: { - name, - value, - }, + target: { name, value }, }); } + const me = fakeUser(); const mocks = [ + // signup mock mutation { request: { query: SIGNUP_MUTATION, variables: { - email: me.email, name: me.name, + email: me.email, password: 'wes', }, }, @@ -38,22 +36,15 @@ const mocks = [ }, }, }, + // current user query mock { request: { query: CURRENT_USER_QUERY }, - result: { - data: { - me: { - __typename: 'User', - ...me, - cart: [], - }, - }, - }, + result: { data: { me } }, }, ]; describe('<Signup/>', () => { - it('renders and matches snapshot', () => { + it('renders and matches snapshot', async () => { const wrapper = mount( <MockedProvider> <Signup /> @@ -62,7 +53,7 @@ describe('<Signup/>', () => { expect(toJSON(wrapper.find('form'))).toMatchSnapshot(); }); - it('calls mutation with correct data', async () => { + it('calls the mutation properly', async () => { let apolloClient; const wrapper = mount( <MockedProvider mocks={mocks}> @@ -74,17 +65,15 @@ describe('<Signup/>', () => { </ApolloConsumer> </MockedProvider> ); - await wait(); wrapper.update(); - type(wrapper, 'name', me.name); type(wrapper, 'email', me.email); type(wrapper, 'password', 'wes'); - wrapper.update(); wrapper.find('form').simulate('submit'); - + await wait(); + // query the user out of the apollo client const user = await apolloClient.query({ query: CURRENT_USER_QUERY }); expect(user.data.me).toMatchObject(me); }); |
