diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-05-02 14:51:36 -0400 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-05-02 14:51:36 -0400 |
| commit | 6a83ac97ba191e1169aca4a662825bc52624cf12 (patch) | |
| tree | 19052e4591265d74b63fcca8a3b667b18ae4984c /frontend/__tests__ | |
| parent | f02a5dc73ac4a14c1d641a6ddbfcd2f1bd2ea0b5 (diff) | |
remove mockMang
Diffstat (limited to 'frontend/__tests__')
| -rw-r--r-- | frontend/__tests__/AddToCart.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/Cart.test.js | 4 | ||||
| -rw-r--r-- | frontend/__tests__/EditUser.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/Order.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/Pagination.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/RemoveFromCart.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/ResetRequest.test.js | 3 | ||||
| -rw-r--r-- | frontend/__tests__/Signup.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/SingleItem.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/TakeMyMoney.test.js | 2 | ||||
| -rw-r--r-- | frontend/__tests__/mockMang.js | 122 | ||||
| -rw-r--r-- | frontend/__tests__/testUtils.js | 55 |
12 files changed, 66 insertions, 134 deletions
diff --git a/frontend/__tests__/AddToCart.test.js b/frontend/__tests__/AddToCart.test.js index 9b6a304..c2fc004 100644 --- a/frontend/__tests__/AddToCart.test.js +++ b/frontend/__tests__/AddToCart.test.js @@ -2,7 +2,7 @@ import React from 'react'; import { mount } from 'enzyme'; import toJSON from 'enzyme-to-json'; import AddToCart from '../components/AddToCart'; -import mountOptions from './mockMang'; +import mountOptions from './testUtils'; describe('<AddtoCart/>', () => { it('renders and matches snapshot', () => { diff --git a/frontend/__tests__/Cart.test.js b/frontend/__tests__/Cart.test.js index c9c1fc3..0694a79 100644 --- a/frontend/__tests__/Cart.test.js +++ b/frontend/__tests__/Cart.test.js @@ -1,11 +1,11 @@ import React from 'react'; import { shallow, mount } from 'enzyme'; import toJSON from 'enzyme-to-json'; -import mountOptions from './mockMang'; +import mountOptions from './testUtils'; import wait from 'waait'; import Cart from '../components/Cart'; import { MockedProvider } from 'react-apollo/test-utils'; -import { fakeOrder } from './mockMang'; +import { fakeOrder } from './testUtils'; import { LOCAL_STATE_QUERY } from '../queries/queries'; const mocks = [ diff --git a/frontend/__tests__/EditUser.test.js b/frontend/__tests__/EditUser.test.js index c68267f..7734a4a 100644 --- a/frontend/__tests__/EditUser.test.js +++ b/frontend/__tests__/EditUser.test.js @@ -2,7 +2,7 @@ import React from 'react'; import { shallow } from 'enzyme'; import toJSON from 'enzyme-to-json'; import EditUser from '../components/EditUser'; -import { mountWithApollo } from './mockMang'; +import { mountWithApollo } from './testUtils'; import wait from 'waait'; const currentUser = { diff --git a/frontend/__tests__/Order.test.js b/frontend/__tests__/Order.test.js index b88f9d3..1f2d691 100644 --- a/frontend/__tests__/Order.test.js +++ b/frontend/__tests__/Order.test.js @@ -4,7 +4,7 @@ import toJSON from 'enzyme-to-json'; import wait from 'waait'; import Order from '../components/Order'; import { MockedProvider } from 'react-apollo/test-utils'; -import { fakeOrder } from './mockMang'; +import { fakeOrder } from './testUtils'; import { SINGLE_ORDER_QUERY } from '../queries/queries'; const mocks = [ diff --git a/frontend/__tests__/Pagination.test.js b/frontend/__tests__/Pagination.test.js index c72dac2..90078b8 100644 --- a/frontend/__tests__/Pagination.test.js +++ b/frontend/__tests__/Pagination.test.js @@ -3,7 +3,7 @@ import { shallow, mount } from 'enzyme'; import toJSON from 'enzyme-to-json'; import Pagination from '../components/Pagination'; import { MockedProvider } from 'react-apollo/test-utils'; -import { fakeItem } from './mockMang'; +import { fakeItem } from './testUtils'; import { ALL_ITEMS_QUERY } from '../queries/queries'; const data = { diff --git a/frontend/__tests__/RemoveFromCart.test.js b/frontend/__tests__/RemoveFromCart.test.js index c546b95..8bce7de 100644 --- a/frontend/__tests__/RemoveFromCart.test.js +++ b/frontend/__tests__/RemoveFromCart.test.js @@ -5,7 +5,7 @@ import { ApolloConsumer } from 'react-apollo'; import { MockedProvider } from 'react-apollo/test-utils'; import wait from 'waait'; import RemoveFromCart from '../components/RemoveFromCart'; -import { mountWithApollo, fakeCartItem, fakeUser } from './mockMang'; +import { mountWithApollo, fakeCartItem, fakeUser } from './testUtils'; import { CURRENT_USER_QUERY, REMOVE_FROM_CART_MUTATION } from '../queries/queries'; const mocks = [ diff --git a/frontend/__tests__/ResetRequest.test.js b/frontend/__tests__/ResetRequest.test.js index c465f34..803f6b6 100644 --- a/frontend/__tests__/ResetRequest.test.js +++ b/frontend/__tests__/ResetRequest.test.js @@ -1,9 +1,8 @@ import React from 'react'; import { mount } from 'enzyme'; import toJSON from 'enzyme-to-json'; -import { ApolloProvider } from 'react-apollo'; import ResetRequest from '../components/ResetRequest'; -import mountOptions from './mockMang'; +import mountOptions from './testUtils'; describe('<ResetRequest/>', () => { it('renders and matches snapshot', async () => { diff --git a/frontend/__tests__/Signup.test.js b/frontend/__tests__/Signup.test.js index f73c01c..aa6e1a2 100644 --- a/frontend/__tests__/Signup.test.js +++ b/frontend/__tests__/Signup.test.js @@ -3,7 +3,7 @@ import { mount } from 'enzyme'; import toJSON from 'enzyme-to-json'; import wait from 'waait'; import Signup from '../components/Signup'; -import mountOptions from './mockMang'; +import mountOptions from './testUtils'; function type(wrapper, name, value) { wrapper.find(`input[name="${name}"]`).simulate('change', { diff --git a/frontend/__tests__/SingleItem.test.js b/frontend/__tests__/SingleItem.test.js index 77834e0..b6b5020 100644 --- a/frontend/__tests__/SingleItem.test.js +++ b/frontend/__tests__/SingleItem.test.js @@ -5,7 +5,7 @@ import toJSON from 'enzyme-to-json'; import SingleItem from '../components/SingleItem'; import { SINGLE_ITEM_QUERY } from '../queries/queries'; import { MockedProvider } from 'react-apollo/test-utils'; -import { fakeItem } from './mockMang'; +import { fakeItem } from './testUtils'; const data = { items: [fakeItem()], diff --git a/frontend/__tests__/TakeMyMoney.test.js b/frontend/__tests__/TakeMyMoney.test.js index 0117d30..484ca7f 100644 --- a/frontend/__tests__/TakeMyMoney.test.js +++ b/frontend/__tests__/TakeMyMoney.test.js @@ -5,7 +5,7 @@ import NProgress from 'nprogress'; import TakeMyMoney from '../components/TakeMyMoney'; import Router from 'next/router'; import wait from 'waait'; -import mountOptions from './mockMang'; +import mountOptions from './testUtils'; Router.router = { push() {} }; diff --git a/frontend/__tests__/mockMang.js b/frontend/__tests__/mockMang.js deleted file mode 100644 index 31d096f..0000000 --- a/frontend/__tests__/mockMang.js +++ /dev/null @@ -1,122 +0,0 @@ -import { importSchema } from 'graphql-import'; -import { makeExecutableSchema } from 'graphql-tools'; -import MockClient from 'graphql-mock'; -import casual from 'casual'; -import PropTypes from 'prop-types'; -import { ApolloProvider } from 'react-apollo'; -import { mount } from 'enzyme'; - -// seed it so we get consistent results -casual.seed(777); - -// By default graphql-mock will generate random numbers, IDs, and Strings of "Hello World" -// We can overwrite any of those if we need to - -const mocks = { - ID: () => casual.uuid, - Node: () => casual.uuid, - DateTime: () => new Date(1400000000000), - Int: () => casual.integer(400, 5500), - OrderItem: () => ({ - quantity: casual.integer(1, 10), - image: 'dog.jpg', - title: casual.title, - description: casual.description, - price: () => 50000, - }), - Item: () => ({ - title: casual.title, - description: casual.description, - price: () => 50000, - image: 'dog.jpg', - largeImage: 'large-dog.jpg', - }), - User: () => ({ - email: casual.email, - name: casual.name, - }), -}; - -const fakeItem = () => ({ - __typename: 'Item', - id: '123', - price: 5000, - user: null, - image: 'dog-small.jpg', - title: 'dogs are best', - description: 'dogs', - largeImage: 'dog.jpg', -}); - -const fakeUser = () => ({ - __typename: 'User', - id: '4234', - name: casual.name, - email: casual.email, - permissions: ['ADMIN'], - orders: [], - cart: [], -}); - -const fakeOrderItem = () => ({ - id: casual.uuid, - image: `${casual.word}.jpg`, - title: casual.words(), - price: 4234, - quantity: 1, - description: casual.words(), -}); - -const fakeOrder = () => ({ - __typename: 'Order', - id: 'ord123', - charge: 'ch_123', - total: 40000, - items: [fakeOrderItem(), fakeOrderItem()], - createdAt: '2018-04 - 06T19: 24: 16.000Z', - user: fakeUser(), -}); - -const fakeCartItem = overrides => ({ - __typename: 'CartItem', - id: 'omg123', - quantity: 3, - item: fakeItem(), - user: fakeUser(), - ...overrides, -}); - -const resolvers = { - // Query: { - // cartOpen: () => true, - // }, -}; - -const typeDefs = importSchema('../backend/src/schema.graphql'); - -const schema = makeExecutableSchema({ - typeDefs, - resolvers, - resolverValidationOptions: { requireResolversForResolveType: false }, -}); - -// Creates a mocked client -const mocked = new MockClient(schema, mocks); - -const mountOptions = { - context: { - client: mocked.client, - }, - childContextTypes: { - client: PropTypes.object, - }, -}; - -const mountWithApollo = Component => { - const wrapper = mount(<ApolloProvider client={mocked.client}>{Component}</ApolloProvider>); - return { wrapper, component: wrapper.children() }; -}; - -export default mountOptions; - -export { mocked, mountWithApollo, fakeItem, fakeUser, fakeCartItem, fakeOrder, fakeOrderItem }; diff --git a/frontend/__tests__/testUtils.js b/frontend/__tests__/testUtils.js new file mode 100644 index 0000000..6b7132a --- /dev/null +++ b/frontend/__tests__/testUtils.js @@ -0,0 +1,55 @@ +import casual from 'casual'; + +// seed it so we get consistent results +casual.seed(777); + +const fakeItem = () => ({ + __typename: 'Item', + id: '123', + price: 5000, + user: null, + image: 'dog-small.jpg', + title: 'dogs are best', + description: 'dogs', + largeImage: 'dog.jpg', +}); + +const fakeUser = () => ({ + __typename: 'User', + id: '4234', + name: casual.name, + email: casual.email, + permissions: ['ADMIN'], + orders: [], + cart: [], +}); + +const fakeOrderItem = () => ({ + id: casual.uuid, + image: `${casual.word}.jpg`, + title: casual.words(), + price: 4234, + quantity: 1, + description: casual.words(), +}); + +const fakeOrder = () => ({ + __typename: 'Order', + id: 'ord123', + charge: 'ch_123', + total: 40000, + items: [fakeOrderItem(), fakeOrderItem()], + createdAt: '2018-04 - 06T19: 24: 16.000Z', + user: fakeUser(), +}); + +const fakeCartItem = overrides => ({ + __typename: 'CartItem', + id: 'omg123', + quantity: 3, + item: fakeItem(), + user: fakeUser(), + ...overrides, +}); + +export { fakeItem, fakeUser, fakeCartItem, fakeOrder, fakeOrderItem }; |
