diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-09-13 14:18:56 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-09-13 14:18:56 -0400 |
| commit | 8a5825d52271d712ec7c8348447d433067e13ef2 (patch) | |
| tree | ba07c218c1b2d4e59c154f2059b69fd858ae65fe /finished-application/frontend/__tests__/TakeMyMoney.test.js | |
| parent | b0d25a9ad3cc1df2fcc11ddb84e4603b94520b09 (diff) | |
DONE
Diffstat (limited to 'finished-application/frontend/__tests__/TakeMyMoney.test.js')
| -rw-r--r-- | finished-application/frontend/__tests__/TakeMyMoney.test.js | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/finished-application/frontend/__tests__/TakeMyMoney.test.js b/finished-application/frontend/__tests__/TakeMyMoney.test.js deleted file mode 100644 index 1c41410..0000000 --- a/finished-application/frontend/__tests__/TakeMyMoney.test.js +++ /dev/null @@ -1,98 +0,0 @@ -import { mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import NProgress from 'nprogress'; -import Router from 'next/router'; -import wait from 'waait'; -import { MockedProvider } from 'react-apollo/test-utils'; -import TakeMyMoney from '../components/TakeMyMoney'; -import { fakeUser, fakeCartItem } from '../lib/testUtils'; -import { CURRENT_USER_QUERY } from '../components/User'; - -Router.router = { push() {} }; - -const mocks = [ - { - request: { query: CURRENT_USER_QUERY }, - result: { - data: { - me: { - ...fakeUser(), - cart: [fakeCartItem()], - }, - }, - }, - }, -]; -describe('<TakeMyMoney />', () => { - it('renders', async () => { - const wrapper = mount( - <MockedProvider mocks={mocks}> - <TakeMyMoney /> - </MockedProvider> - ); - // wait for it to load - await wait(); - wrapper.update(); - // find the button - const checkoutButton = wrapper.find('ReactStripeCheckout'); - expect(toJSON(checkoutButton)).toMatchSnapshot(); - }); - - it('creates an order onToken', async () => { - const createOrderSpy = jest.fn().mockResolvedValue({ data: { createOrder: { id: 'xyz789' } } }); - - const wrapper = mount( - <MockedProvider mocks={mocks}> - <TakeMyMoney /> - </MockedProvider> - ); - const component = wrapper.find('TakeMyMoney'); - component.instance().onToken({ id: 'abc123' }, createOrderSpy); - // check it - expect(createOrderSpy).toBeCalled(); - expect(createOrderSpy).toBeCalledWith({ variables: { token: 'abc123' } }); - }); - - it('turns the progress bar on', async () => { - const wrapper = mount( - <MockedProvider mocks={mocks}> - <TakeMyMoney /> - </MockedProvider> - ); - await wait(); - wrapper.update(); - NProgress.start = jest.fn(); - - const createOrderSpy = jest.fn().mockResolvedValue({ data: { createOrder: { id: 'xyz789' } } }); - const component = wrapper.find('TakeMyMoney'); - component.instance().onToken({ id: 'abc123' }, createOrderSpy); - wrapper.find('button').simulate('click'); - expect(NProgress.start).toHaveBeenCalled(); - }); - - it('routes to the order page when completed', async () => { - // Mount the wrapper - const wrapper = mount( - <MockedProvider mocks={mocks}> - <TakeMyMoney /> - </MockedProvider> - ); - await wait(); - wrapper.update(); - - // Spy on Router Push - Router.router.push = jest.fn(); - const createOrderSpy = jest.fn().mockResolvedValue({ data: { createOrder: { id: 'xyz789' } } }); - - const component = wrapper.find('TakeMyMoney'); - component.instance().onToken({ id: 'abc123' }, createOrderSpy); - - // submit the form - wrapper.find('button').simulate('click'); - await wait(); - expect(Router.router.push).toHaveBeenCalledWith({ - pathname: '/order', - query: { id: 'xyz789' }, - }); - }); -}); |
