summaryrefslogtreecommitdiffstats
path: root/frontend/__tests__/ResetRequest.test.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2018-04-17 16:51:09 -0400
committerWes Bos <wesbos@gmail.com>2018-04-17 16:51:09 -0400
commit54dd0e29830f04c9055863fb0449ee4fc2ab0689 (patch)
tree920fc79aea7624f0480603ba716aa38358dbc5ab /frontend/__tests__/ResetRequest.test.js
parent4f907fc051a9863e3cbea249b33a71009551f482 (diff)
these tests are on fireee but the bad kind
Diffstat (limited to 'frontend/__tests__/ResetRequest.test.js')
-rw-r--r--frontend/__tests__/ResetRequest.test.js46
1 files changed, 26 insertions, 20 deletions
diff --git a/frontend/__tests__/ResetRequest.test.js b/frontend/__tests__/ResetRequest.test.js
index bd8a934..6d8d99f 100644
--- a/frontend/__tests__/ResetRequest.test.js
+++ b/frontend/__tests__/ResetRequest.test.js
@@ -1,33 +1,39 @@
import React from 'react';
-import { shallow } from 'enzyme';
+import { mount } from 'enzyme';
import toJSON from 'enzyme-to-json';
-import { ResetRequest } from '../components/ResetRequest';
-
-const wait = amount => new Promise(resolve => setTimeout(resolve, amount));
+import { ApolloProvider } from 'react-apollo';
+import ResetRequest from '../components/ResetRequest';
+import mountOptions from './mockMang';
describe('<ResetRequest/>', () => {
- it('renders and matches snapshot', () => {
- const wrapper = shallow(<ResetRequest requestReset={() => {}} />);
- expect(toJSON(wrapper)).toMatchSnapshot();
+ it('renders and matches snapshot', async () => {
+ const wrapper = mount(<ResetRequest />, mountOptions);
+ const Form = wrapper.find("Form[data-test='ResetRequest']");
+ expect(toJSON(Form)).toMatchSnapshot();
});
- it('handles the reset request', async () => {
- const resetSpy = jest.fn(() => Promise.resolve({}));
- const wrapper = shallow(<ResetRequest requestReset={resetSpy} />);
+ it('calls the mutation', async () => {
+ const wrapper = mount(<ResetRequest />, mountOptions);
+ const mutation = wrapper.find('Mutation').instance();
const input = wrapper.find('input[name="email"]');
input.simulate('change', { target: { name: 'email', value: 'wesbos@gmail.com' } });
- wrapper.simulate('submit', { preventDefault() {} });
- expect(resetSpy).toHaveBeenCalledWith({ variables: { email: 'wesbos@gmail.com' } });
+ // Create a spy function on mutate
+ mutation.client.mutate = jest.fn();
+ mutation.forceUpdate();
+ wrapper.find('Form').simulate('submit');
+ expect(mutation.client.mutate.mock.calls[0][0].variables).toEqual({
+ email: 'wesbos@gmail.com',
+ });
+ expect(toJSON(wrapper)).toMatchSnapshot();
});
- it('displays errors', async () => {
- const resetSpy = jest.fn(() => Promise.resolve({ errors: [{ message: 'Error!!!' }] }));
- const wrapper = shallow(<ResetRequest requestReset={resetSpy} />);
- const input = wrapper.find('input[name="email"]');
- input.simulate('change', { target: { name: 'email', value: 'wesbos@gmail.com' } });
- wrapper.simulate('submit', { preventDefault() {} });
- await wait(0);
+ it('renders errors', () => {
+ const wrapper = mount(<ResetRequest />, mountOptions);
+ const mutation = wrapper.find('Mutation').instance();
+ mutation.setState({ error: { message: 'Shit!' } });
wrapper.update();
- expect(toJSON(wrapper)).toMatchSnapshot();
+ const error = wrapper.find('DisplayError');
+ expect(error).toHaveLength(1);
+ expect(toJSON(error)).toMatchSnapshot();
});
});