From 49589e1e7cc4ac53254c21cb9384070836a08d82 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 9 Jun 2020 22:14:48 -0500 Subject: [PATCH] Test: Refactor helper functions --- .../__tests__/column_back_button-test.js | 4 ++-- .../__tests__/column_back_button_slim-test.js | 4 ++-- .../__tests__/column_header-test.js | 4 ++-- .../timeline_queue_button_header-test.js | 8 +++---- .../components/__tests__/captcha-test.js | 4 ++-- app/soapbox/test_helpers.js | 21 +++++++++++-------- 6 files changed, 24 insertions(+), 21 deletions(-) diff --git a/app/soapbox/components/__tests__/column_back_button-test.js b/app/soapbox/components/__tests__/column_back_button-test.js index 9bd393135..e358090ee 100644 --- a/app/soapbox/components/__tests__/column_back_button-test.js +++ b/app/soapbox/components/__tests__/column_back_button-test.js @@ -1,10 +1,10 @@ import React from 'react'; import ColumnBackButton from '../column_back_button'; -import { createComponentWithIntl } from 'soapbox/test_helpers'; +import { createComponent } from 'soapbox/test_helpers'; describe('', () => { it('renders correctly', () => { - const component = createComponentWithIntl(); + const component = createComponent(); const tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); diff --git a/app/soapbox/components/__tests__/column_back_button_slim-test.js b/app/soapbox/components/__tests__/column_back_button_slim-test.js index 36a3e4e62..a7865fb29 100644 --- a/app/soapbox/components/__tests__/column_back_button_slim-test.js +++ b/app/soapbox/components/__tests__/column_back_button_slim-test.js @@ -1,10 +1,10 @@ import React from 'react'; import ColumnBackButtonSlim from '../column_back_button_slim'; -import { createComponentWithIntl } from 'soapbox/test_helpers'; +import { createComponent } from 'soapbox/test_helpers'; describe('', () => { it('renders correctly', () => { - const component = createComponentWithIntl(); + const component = createComponent(); const tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); diff --git a/app/soapbox/components/__tests__/column_header-test.js b/app/soapbox/components/__tests__/column_header-test.js index f3f027b9c..c5a546924 100644 --- a/app/soapbox/components/__tests__/column_header-test.js +++ b/app/soapbox/components/__tests__/column_header-test.js @@ -1,10 +1,10 @@ import React from 'react'; import ColumnHeader from '../column_header'; -import { createComponentWithIntl } from 'soapbox/test_helpers'; +import { createComponent } from 'soapbox/test_helpers'; describe('', () => { it('renders correctly with minimal props', () => { - const component = createComponentWithIntl(); + const component = createComponent(); const tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); diff --git a/app/soapbox/components/__tests__/timeline_queue_button_header-test.js b/app/soapbox/components/__tests__/timeline_queue_button_header-test.js index cb3b60900..4e2ace540 100644 --- a/app/soapbox/components/__tests__/timeline_queue_button_header-test.js +++ b/app/soapbox/components/__tests__/timeline_queue_button_header-test.js @@ -1,6 +1,6 @@ import React from 'react'; import TimelineQueueButtonHeader from '../timeline_queue_button_header'; -import { createComponentWithIntl } from 'soapbox/test_helpers'; +import { createComponent } from 'soapbox/test_helpers'; import { defineMessages } from 'react-intl'; const messages = defineMessages({ @@ -9,7 +9,7 @@ const messages = defineMessages({ describe('', () => { it('renders correctly', () => { - expect(createComponentWithIntl( + expect(createComponent( {}} // eslint-disable-line react/jsx-no-bind @@ -18,7 +18,7 @@ describe('', () => { /> ).toJSON()).toMatchSnapshot(); - expect(createComponentWithIntl( + expect(createComponent( {}} // eslint-disable-line react/jsx-no-bind @@ -27,7 +27,7 @@ describe('', () => { /> ).toJSON()).toMatchSnapshot(); - expect(createComponentWithIntl( + expect(createComponent( {}} // eslint-disable-line react/jsx-no-bind diff --git a/app/soapbox/features/auth_login/components/__tests__/captcha-test.js b/app/soapbox/features/auth_login/components/__tests__/captcha-test.js index 96e9d8b22..332849be3 100644 --- a/app/soapbox/features/auth_login/components/__tests__/captcha-test.js +++ b/app/soapbox/features/auth_login/components/__tests__/captcha-test.js @@ -1,12 +1,12 @@ import React from 'react'; import CaptchaField, { NativeCaptchaField } from '../captcha'; import renderer from 'react-test-renderer'; -import { createComponentWithStore } from 'soapbox/test_helpers'; +import { createComponent } from 'soapbox/test_helpers'; import { Map as ImmutableMap } from 'immutable'; describe('', () => { it('renders null by default', () => { - expect(createComponentWithStore( + expect(createComponent( ).toJSON()).toMatchSnapshot(); }); diff --git a/app/soapbox/test_helpers.js b/app/soapbox/test_helpers.js index 5b30c5b1a..ae6d388b3 100644 --- a/app/soapbox/test_helpers.js +++ b/app/soapbox/test_helpers.js @@ -5,6 +5,7 @@ import thunk from 'redux-thunk'; import renderer from 'react-test-renderer'; import { Provider } from 'react-redux'; import { IntlProvider } from 'react-intl'; +import { BrowserRouter } from 'react-router-dom'; import configureMockStore from 'redux-mock-store'; import { Map as ImmutableMap } from 'immutable'; @@ -13,13 +14,15 @@ import { Map as ImmutableMap } from 'immutable'; const middlewares = [thunk]; export const mockStore = configureMockStore(middlewares); -// Test Redux connected components -export const createComponentWithStore = (children, props = { store: mockStore(ImmutableMap()) }) => { - return renderer.create({children}); -}; - -// Testing i18n components -// https://formatjs.io/docs/react-intl/testing/#helper-function-2 -export const createComponentWithIntl = (children, props = { locale: 'en' }) => { - return renderer.create({children}); +// Create test component with i18n and Redux store, etc +export const createComponent = (children, props = { locale: 'en', store: mockStore(ImmutableMap()) }) => { + return renderer.create( + + + + {children} + + + + ); };