From b1600adec47a04f60e1da07d94a3ed3906ff5aee Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Thu, 14 Jun 2018 16:44:21 -0400 Subject: starter files --- frontend/.vscode/settings.json | 7 - frontend/README.md | 59 - frontend/__tests__/AddToCart.test.js | 92 - frontend/__tests__/Cart.test.js | 46 - frontend/__tests__/CartCount.test.js | 21 - frontend/__tests__/CartItem.test.js | 33 - frontend/__tests__/CreateItem.test.js | 132 - frontend/__tests__/EditUser.test.js | 75 - frontend/__tests__/Item.test.js | 22 - frontend/__tests__/Nav.test.js | 66 - frontend/__tests__/Order.test.js | 41 - frontend/__tests__/Pagination.test.js | 94 - frontend/__tests__/PleaseSignIn.test.js | 80 - frontend/__tests__/RemoveFromCart.test.js | 78 - frontend/__tests__/ResetRequest.test.js | 54 - frontend/__tests__/Signup.test.js | 91 - frontend/__tests__/SingleItem.test.js | 67 - frontend/__tests__/TakeMyMoney.test.js | 98 - .../__tests__/__snapshots__/AddToCart.test.js.snap | 11 - frontend/__tests__/__snapshots__/Cart.test.js.snap | 32 - .../__tests__/__snapshots__/CartCount.test.js.snap | 205 - .../__tests__/__snapshots__/CartItem.test.js.snap | 33 - .../__snapshots__/CreateItem.test.js.snap | 75 - .../__tests__/__snapshots__/EditUser.test.js.snap | 47 - frontend/__tests__/__snapshots__/Item.test.js.snap | 58 - frontend/__tests__/__snapshots__/Nav.test.js.snap | 39 - .../__tests__/__snapshots__/Order.test.js.snap | 130 - .../__snapshots__/Pagination.test.js.snap | 71 - .../__snapshots__/RemoveFromCart.test.js.snap | 12 - .../__snapshots__/ResetRequest.test.js.snap | 35 - .../__tests__/__snapshots__/Signup.test.js.snap | 64 - .../__snapshots__/SingleItem.test.js.snap | 32 - .../__snapshots__/TakeMyMoney.test.js.snap | 67 - frontend/__tests__/formatMoney.test.js | 21 - frontend/components/AddToCart.js | 68 - frontend/components/Cart.js | 74 - frontend/components/CartCount.js | 64 - frontend/components/CartItem.js | 53 - frontend/components/CreateItem.js | 148 - frontend/components/DeleteItem.js | 71 - frontend/components/Dump.js | 19 - frontend/components/EditUser.js | 81 - frontend/components/ErrorMessage.js | 51 - frontend/components/Header.js | 71 - frontend/components/Item.js | 53 - frontend/components/Items.js | 74 - frontend/components/LoadingItem.js | 22 - frontend/components/Meta.js | 16 - frontend/components/Nav.js | 59 - frontend/components/Order.js | 98 - frontend/components/OrderList.js | 93 - frontend/components/Page.js | 67 - frontend/components/Pagination.js | 97 - frontend/components/Permissions.js | 133 - frontend/components/PleaseSignIn.js | 46 - frontend/components/RemoveFromCart.js | 57 - frontend/components/Reset.js | 85 - frontend/components/ResetRequest.js | 55 - frontend/components/Search.js | 143 - frontend/components/Signin.js | 79 - frontend/components/Signout.js | 25 - frontend/components/Signup.js | 93 - frontend/components/SingleItem.js | 77 - frontend/components/TakeMyMoney.js | 83 - frontend/components/UpdateItem.js | 105 - frontend/components/User.js | 45 - frontend/components/styles/CartStyles.js | 47 - frontend/components/styles/CloseButton.js | 13 - frontend/components/styles/Form.js | 71 - frontend/components/styles/ItemStyles.js | 39 - frontend/components/styles/NavStyles.js | 64 - frontend/components/styles/OrderItemStyles.js | 44 - frontend/components/styles/OrderStyles.js | 38 - frontend/components/styles/PriceTag.js | 17 - frontend/components/styles/SickButton.js | 20 - frontend/components/styles/Supreme.js | 13 - frontend/components/styles/Table.js | 31 - frontend/components/styles/Title.js | 20 - frontend/config.js | 3 - frontend/jest.setup.js | 4 - frontend/lib/calcTotalPrice.js | 6 - frontend/lib/formatMoney.js | 11 - frontend/lib/testUtils.js | 79 - frontend/lib/withData.js | 34 - frontend/next.config.js | 3 - frontend/notes.md | 36 - frontend/package-lock.json | 10014 ------------------- frontend/package.json | 105 - frontend/pages/_app.js | 36 - frontend/pages/_document.js | 25 - frontend/pages/add.js | 10 - frontend/pages/diagram.js | 202 - frontend/pages/index.js | 7 - frontend/pages/item.js | 7 - frontend/pages/items.js | 3 - frontend/pages/me.js | 13 - frontend/pages/order.js | 7 - frontend/pages/orders.js | 10 - frontend/pages/permissions.js | 10 - frontend/pages/reset.js | 10 - frontend/pages/sell.js | 10 - frontend/pages/signup.js | 20 - frontend/pages/update.js | 15 - frontend/static/favicon.png | Bin 5122 -> 0 bytes frontend/static/nprogress.css | 72 - 105 files changed, 15562 deletions(-) delete mode 100644 frontend/.vscode/settings.json delete mode 100644 frontend/README.md delete mode 100644 frontend/__tests__/AddToCart.test.js delete mode 100644 frontend/__tests__/Cart.test.js delete mode 100644 frontend/__tests__/CartCount.test.js delete mode 100644 frontend/__tests__/CartItem.test.js delete mode 100644 frontend/__tests__/CreateItem.test.js delete mode 100644 frontend/__tests__/EditUser.test.js delete mode 100644 frontend/__tests__/Item.test.js delete mode 100644 frontend/__tests__/Nav.test.js delete mode 100644 frontend/__tests__/Order.test.js delete mode 100644 frontend/__tests__/Pagination.test.js delete mode 100644 frontend/__tests__/PleaseSignIn.test.js delete mode 100644 frontend/__tests__/RemoveFromCart.test.js delete mode 100644 frontend/__tests__/ResetRequest.test.js delete mode 100644 frontend/__tests__/Signup.test.js delete mode 100644 frontend/__tests__/SingleItem.test.js delete mode 100644 frontend/__tests__/TakeMyMoney.test.js delete mode 100644 frontend/__tests__/__snapshots__/AddToCart.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/Cart.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/CartCount.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/CartItem.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/CreateItem.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/EditUser.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/Item.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/Nav.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/Order.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/Pagination.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/RemoveFromCart.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/ResetRequest.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/Signup.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/SingleItem.test.js.snap delete mode 100644 frontend/__tests__/__snapshots__/TakeMyMoney.test.js.snap delete mode 100644 frontend/__tests__/formatMoney.test.js delete mode 100644 frontend/components/AddToCart.js delete mode 100644 frontend/components/Cart.js delete mode 100644 frontend/components/CartCount.js delete mode 100644 frontend/components/CartItem.js delete mode 100644 frontend/components/CreateItem.js delete mode 100644 frontend/components/DeleteItem.js delete mode 100644 frontend/components/Dump.js delete mode 100644 frontend/components/EditUser.js delete mode 100644 frontend/components/ErrorMessage.js delete mode 100644 frontend/components/Header.js delete mode 100644 frontend/components/Item.js delete mode 100644 frontend/components/Items.js delete mode 100644 frontend/components/LoadingItem.js delete mode 100644 frontend/components/Meta.js delete mode 100644 frontend/components/Nav.js delete mode 100644 frontend/components/Order.js delete mode 100644 frontend/components/OrderList.js delete mode 100644 frontend/components/Page.js delete mode 100644 frontend/components/Pagination.js delete mode 100644 frontend/components/Permissions.js delete mode 100644 frontend/components/PleaseSignIn.js delete mode 100644 frontend/components/RemoveFromCart.js delete mode 100644 frontend/components/Reset.js delete mode 100644 frontend/components/ResetRequest.js delete mode 100644 frontend/components/Search.js delete mode 100644 frontend/components/Signin.js delete mode 100644 frontend/components/Signout.js delete mode 100644 frontend/components/Signup.js delete mode 100644 frontend/components/SingleItem.js delete mode 100644 frontend/components/TakeMyMoney.js delete mode 100644 frontend/components/UpdateItem.js delete mode 100644 frontend/components/User.js delete mode 100644 frontend/components/styles/CartStyles.js delete mode 100644 frontend/components/styles/CloseButton.js delete mode 100644 frontend/components/styles/Form.js delete mode 100644 frontend/components/styles/ItemStyles.js delete mode 100644 frontend/components/styles/NavStyles.js delete mode 100644 frontend/components/styles/OrderItemStyles.js delete mode 100644 frontend/components/styles/OrderStyles.js delete mode 100644 frontend/components/styles/PriceTag.js delete mode 100644 frontend/components/styles/SickButton.js delete mode 100644 frontend/components/styles/Supreme.js delete mode 100644 frontend/components/styles/Table.js delete mode 100644 frontend/components/styles/Title.js delete mode 100644 frontend/config.js delete mode 100644 frontend/jest.setup.js delete mode 100644 frontend/lib/calcTotalPrice.js delete mode 100644 frontend/lib/formatMoney.js delete mode 100644 frontend/lib/testUtils.js delete mode 100644 frontend/lib/withData.js delete mode 100644 frontend/next.config.js delete mode 100644 frontend/notes.md delete mode 100644 frontend/package-lock.json delete mode 100644 frontend/package.json delete mode 100644 frontend/pages/_app.js delete mode 100644 frontend/pages/_document.js delete mode 100644 frontend/pages/add.js delete mode 100644 frontend/pages/diagram.js delete mode 100644 frontend/pages/index.js delete mode 100644 frontend/pages/item.js delete mode 100644 frontend/pages/items.js delete mode 100644 frontend/pages/me.js delete mode 100644 frontend/pages/order.js delete mode 100644 frontend/pages/orders.js delete mode 100644 frontend/pages/permissions.js delete mode 100644 frontend/pages/reset.js delete mode 100644 frontend/pages/sell.js delete mode 100644 frontend/pages/signup.js delete mode 100644 frontend/pages/update.js delete mode 100644 frontend/static/favicon.png delete mode 100644 frontend/static/nprogress.css (limited to 'frontend') diff --git a/frontend/.vscode/settings.json b/frontend/.vscode/settings.json deleted file mode 100644 index 2fd8efc..0000000 --- a/frontend/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "workbench.colorCustomizations": { - "titleBar.activeForeground": "#000", - "titleBar.inactiveForeground": "#000000CC", - "titleBar.activeBackground": "#FFC600", - "titleBar.inactiveBackground": "#FFC600CC" - } diff --git a/frontend/README.md b/frontend/README.md deleted file mode 100644 index 9914799..0000000 --- a/frontend/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Advanced-React - - - diff --git a/frontend/__tests__/AddToCart.test.js b/frontend/__tests__/AddToCart.test.js deleted file mode 100644 index fe15f3f..0000000 --- a/frontend/__tests__/AddToCart.test.js +++ /dev/null @@ -1,92 +0,0 @@ -import React from 'react'; -import { mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import { ApolloConsumer } from 'react-apollo'; -import { MockedProvider } from 'react-apollo/test-utils'; -import wait from 'waait'; -import AddToCart, { ADD_TO_CART_MUTATION } from '../components/AddToCart'; -import { fakeCartItem, fakeUser } from '../lib/testUtils'; -import { CURRENT_USER_QUERY } from '../components/User'; - -const mocks = [ - { - request: { query: CURRENT_USER_QUERY }, - result: { - data: { - me: { - ...fakeUser(), - cart: [], - }, - }, - }, - }, - { - request: { query: ADD_TO_CART_MUTATION, variables: { id: 'abc123' } }, - result: { - data: { - addToCart: { - ...fakeCartItem(), - quantity: 1, - }, - }, - }, - }, -]; - -describe('', () => { - it('renders and matches snapshot', async () => { - const wrapper = mount( - - - - ); - await wait(); - wrapper.update(); - - expect(toJSON(wrapper.find('button'))).toMatchSnapshot(); - }); - - it('adds an item to the cart when clicked', async () => { - // 1. Grab a copy of the current client - let apolloClient; - // const wrapper = mountWithApollo(); - const wrapper = mount( - - - {client => { - apolloClient = client; - return ; - }} - - - ); - await wait(); - wrapper.update(); - - const { me } = apolloClient.readQuery({ query: CURRENT_USER_QUERY }); - expect(me.cart).toHaveLength(0); - - // add to cart - wrapper.find('button').simulate('click'); - await wait(); - // check if the item is in the cart - const { me: me2 } = apolloClient.readQuery({ query: CURRENT_USER_QUERY }); - - expect(me2.cart).toHaveLength(1); - expect(me2.cart[0].id).toBe('omg123'); - expect(me2.cart[0].quantity).toBe(1); - }); - - it('changes to adding when clicked', async () => { - const wrapper = mount( - - - - ); - await wait(); - wrapper.update(); - expect(wrapper.text()).toContain('πŸ›’ Add To Cart'); - wrapper.find('button').simulate('click'); - expect(wrapper.text()).toContain('πŸ›’ Adding To Cart'); - }); -}); diff --git a/frontend/__tests__/Cart.test.js b/frontend/__tests__/Cart.test.js deleted file mode 100644 index 255183e..0000000 --- a/frontend/__tests__/Cart.test.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import { shallow, mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import mountOptions from '../lib/testUtils'; -import wait from 'waait'; -import Cart from '../components/Cart'; -import { MockedProvider } from 'react-apollo/test-utils'; -import { fakeCartItem, fakeUser } from '../lib/testUtils'; -import { CURRENT_USER_QUERY } from '../components/User'; -import { LOCAL_STATE_QUERY } from '../components/Cart'; - -const mocks = [ - { - request: { query: CURRENT_USER_QUERY }, - result: { - data: { - me: { - ...fakeUser(), - cart: [fakeCartItem()], - }, - }, - }, - }, - { - request: { query: LOCAL_STATE_QUERY }, - result: { - data: { - cartOpen: true, - }, - }, - }, -]; - -describe('', () => { - it('renders', async () => { - const wrapper = mount( - - - - ); - await wait(); - wrapper.update(); - expect(toJSON(wrapper.find('header'))).toMatchSnapshot(); - expect(wrapper.find('CartItem')).toHaveLength(1); - }); -}); diff --git a/frontend/__tests__/CartCount.test.js b/frontend/__tests__/CartCount.test.js deleted file mode 100644 index dcb9ca8..0000000 --- a/frontend/__tests__/CartCount.test.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -import { shallow, mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import CartCount from '../components/CartCount'; - -describe('', () => { - it('renders okay', () => { - shallow(); - }); - - it('matches snapshot', () => { - const wrapper = shallow(); - expect(toJSON(wrapper)).toMatchSnapshot(); - }); - it('updates via props', () => { - const wrapper = mount(); - expect(toJSON(wrapper)).toMatchSnapshot(); - wrapper.setProps({ count: 10 }); - expect(toJSON(wrapper)).toMatchSnapshot(); - }); -}); diff --git a/frontend/__tests__/CartItem.test.js b/frontend/__tests__/CartItem.test.js deleted file mode 100644 index 42dd39b..0000000 --- a/frontend/__tests__/CartItem.test.js +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; -import { shallow, mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import CartItem from '../components/CartItem'; - -const cartItem = { - item: { - price: 5000, - image: 'dog.jpg', - title: 'Fake Item', - }, - id: 'abc123', - quantity: 20, -}; - -describe('', () => { - it('renders and matches snapshot', () => { - const wrapper = shallow(); - expect(toJSON(wrapper)).toMatchSnapshot(); - }); - - it('renders a single quantity', () => { - const wrapper = shallow(); - const p = wrapper.find('p'); - expect(p.text()).toBe('$50 β€” 1 Γ— $50 each'); - }); - - it('renders multiples', () => { - const wrapper = shallow(); - const p = wrapper.find('p'); - expect(p.text()).toBe('$1,171,150 β€” 23423 Γ— $50 each'); - }); -}); diff --git a/frontend/__tests__/CreateItem.test.js b/frontend/__tests__/CreateItem.test.js deleted file mode 100644 index 56c3f10..0000000 --- a/frontend/__tests__/CreateItem.test.js +++ /dev/null @@ -1,132 +0,0 @@ -import React from 'react'; -import { mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import Router from 'next/router'; -import { MockedProvider } from 'react-apollo/test-utils'; -import CreateItem, { CREATE_ITEM_MUTATION } from '../components/CreateItem'; -import wait from 'waait'; -import { fakeItem } from '../lib/testUtils'; - -const dogImage = 'https://dog.com/dog.jpg'; - -// Mock fetch to resolve data -global.fetch = jest.fn().mockResolvedValue({ - json: () => ({ - secure_url: dogImage, - eager: [{ secure_url: dogImage }], - }), -}); - -describe('', () => { - it('renders and matches snapshot', () => { - const wrapper = mount( - - - - ); - const form = wrapper.find('form[data-test]'); - expect(toJSON(form)).toMatchSnapshot(); - }); - - it('uploads a file when changed', async () => { - const wrapper = mount( - - - - ); - const component = wrapper.find('CreateItem').instance(); - - const input = wrapper.find('input[type="file"]'); - // internally this does some setState() calls - input.simulate('change', { currentTarget: { files: ['fakedog.jpg'] } }); - await wait(0); - expect(component.state.image).toEqual(dogImage); - expect(component.state.largeImage).toEqual(dogImage); - }); - - it('handles state updating', async () => { - const wrapper = mount( - - - - ); - - wrapper.find('#title').simulate('change', { target: { value: 'Testing', name: 'title' } }); - wrapper.find('#price').simulate('change', { - target: { - value: 50000, - name: 'price', - type: 'number', - }, - }); - wrapper.find('#description').simulate('change', { - target: { - value: 'This is a really nice item', - name: 'description', - }, - }); - const component = wrapper.find('CreateItem').instance(); - expect(component.state).toMatchObject({ - title: 'Testing', - description: 'This is a really nice item', - image: '', - largeImage: '', - price: 50000, - }); - }); - - it('creates an item when form is submitted', async () => { - const item = fakeItem(); - const mocks = [ - { - request: { - query: CREATE_ITEM_MUTATION, - variables: { - title: item.title, - description: item.description, - image: '', - largeImage: '', - price: item.price, - }, - }, - result: { - data: { - createItem: { - ...fakeItem(), - __typeName: 'Item', - }, - }, - }, - }, - ]; - - const wrapper = mount( - - - - ); - - wrapper.find('#title').simulate('change', { target: { value: item.title, name: 'title' } }); - wrapper.find('#price').simulate('change', { - target: { - value: item.price, - name: 'price', - type: 'number', - }, - }); - wrapper.find('#description').simulate('change', { - target: { - value: item.description, - name: 'description', - }, - }); - - Router.router = { push: jest.fn() }; - // it submits and matches the mocks - wrapper.find('form').simulate('submit'); - // it routes to the item page - await wait(50); - expect(Router.router.push).toHaveBeenCalled(); - expect(Router.router.push).toHaveBeenCalledWith({ pathname: '/item', query: { id: '123' } }); - }); -}); diff --git a/frontend/__tests__/EditUser.test.js b/frontend/__tests__/EditUser.test.js deleted file mode 100644 index a98cbb5..0000000 --- a/frontend/__tests__/EditUser.test.js +++ /dev/null @@ -1,75 +0,0 @@ -import React from 'react'; -import { mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import { MockedProvider } from 'react-apollo/test-utils'; -import wait from 'waait'; -import EditUser, { UPDATE_USER_MUTATION } from '../components/EditUser'; -import { fakeUser } from '../lib/testUtils'; -import { CURRENT_USER_QUERY } from '../components/User'; - -const mocks = [ - { - request: { query: CURRENT_USER_QUERY }, - result: { - data: { - me: fakeUser(), - }, - }, - }, - { - request: { - query: UPDATE_USER_MUTATION, - variables: { - name: 'Westopher', - }, - }, - result: { - updateUser: { - name: 'Westopher', - __typename: 'User', - }, - }, - }, -]; - -describe('', () => { - it('renders', async () => { - const wrapper = mount( - - - - ); - await wait(); - wrapper.update(); - expect(toJSON(wrapper.find('form'))).toMatchSnapshot(); - }); - - it('displays changes', async () => { - const wrapper = mount( - - - - ); - await wait(); - wrapper.update(); - const nameInput = wrapper.find('[name="name"]'); - nameInput.simulate('change', { target: { name: 'name', value: 'Scott' } }); - const diff = wrapper.find('pre[data-test="change"]'); - expect(diff.text()).toBe('{"name":"Scott"}'); - }); - - it('calls update user when form is submitted', async () => { - const wrapper = mount( - - - - ); - await wait(); - wrapper.update(); - const nameInput = wrapper.find('[name="name"]'); - nameInput.simulate('change', { target: { name: 'name', value: 'Westopher' } }); - wrapper.find('form').simulate('submit'); - wrapper.update(); - expect(wrapper.find('[data-test="updated"]').text()).toBe('Updated!'); - }); -}); diff --git a/frontend/__tests__/Item.test.js b/frontend/__tests__/Item.test.js deleted file mode 100644 index 129efa9..0000000 --- a/frontend/__tests__/Item.test.js +++ /dev/null @@ -1,22 +0,0 @@ -/* eslint-env jest */ - -import React from 'react'; -import Enzyme, { shallow, mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import ItemComponent from '../components/Item'; - -const fakeItem = { - id: 'ABC123', - title: 'A Cool Item', - price: 5000, - description: 'This item is really cool!', - image: 'dog.jpg', - largeImage: 'largedog.jpg', -}; - -describe('', () => { - it('Renders and matches snapshot', () => { - const wrapper = shallow(); - expect(toJSON(wrapper)).toMatchSnapshot(); - }); -}); diff --git a/frontend/__tests__/Nav.test.js b/frontend/__tests__/Nav.test.js deleted file mode 100644 index 5c61c56..0000000 --- a/frontend/__tests__/Nav.test.js +++ /dev/null @@ -1,66 +0,0 @@ -import React from 'react'; -import { mount } from 'enzyme'; -import toJSON from 'enzyme-to-json'; -import wait from 'waait'; -import Router from 'next/router'; -import Nav from '../components/Nav'; -import { MockedProvider } from 'react-apollo/test-utils'; -import { fakeUser } from '../lib/testUtils'; -import { CURRENT_USER_QUERY } from '../components/User'; - -// Mock the router -Router.router = { push() {} }; - -const loggedOutMocks = [ - { - request: { query: CURRENT_USER_QUERY }, - delay: 0, - result: { - data: { - me: null, - }, - }, - }, -]; - -const loggedInMocks = [ - { - request: { query: CURRENT_USER_QUERY }, - result: { - data: { - what: 'yah', - me: { - ...fakeUser(), - orders: [], - cart: [], - }, - }, - }, - }, -]; - -describe('', () => { - it('Renders minimal nav when logged out', () => { - const wrapper = mount( - -