From 9a1a7cd892b9daac7166316e0537aee4876f5d4f Mon Sep 17 00:00:00 2001 From: Ben Warzeski Date: Fri, 5 Nov 2021 02:08:10 -0400 Subject: [PATCH] refactor: centralize paragon mocking --- src/components/ConfirmModal.test.jsx | 6 -- .../__snapshots__/index.test.jsx.snap | 6 +- src/components/InfoPopover/index.jsx | 3 +- src/components/InfoPopover/index.test.jsx | 12 ---- .../CourseHeader/AnonymousUserMenu.test.jsx | 3 - .../UserAvatar.test.jsx | 9 --- .../UserMenu.test.jsx | 13 ---- .../__snapshots__/UserAvatar.test.jsx.snap | 4 +- .../__snapshots__/UserMenu.test.jsx.snap | 20 +++--- .../AuthenticatedUserDropdown/index.test.jsx | 3 - .../CriterionFeedback.test.jsx | 6 -- .../RadioCriterion.test.jsx | 7 -- .../ReviewCriterion.test.jsx | 7 -- .../CriterionFeedback.test.jsx.snap | 4 +- .../RadioCriterion.test.jsx.snap | 24 +++---- .../ReviewCriterion.test.jsx.snap | 8 +-- .../__snapshots__/index.test.jsx.snap | 24 +++---- .../CriterionContainer/index.test.jsx | 7 -- .../ListView/ListViewBreadcrumb.test.jsx | 13 +--- .../ListViewBreadcrumb.test.jsx.snap | 4 +- src/containers/ListView/index.test.jsx | 14 ---- .../ResponseDisplay/SubmissionFiles.test.jsx | 27 -------- .../SubmissionFiles.test.jsx.snap | 4 +- src/containers/ResponseDisplay/index.test.jsx | 8 --- .../components/StartGradingButton.test.jsx | 7 -- .../components/SubmissionNavigation.test.jsx | 8 --- .../StartGradingButton.test.jsx.snap | 6 +- .../SubmissionNavigation.test.jsx.snap | 16 ++--- src/containers/ReviewActions/index.test.jsx | 4 -- src/containers/Rubric/RubricFeedback.test.jsx | 9 --- src/containers/Rubric/index.test.jsx | 7 -- src/setupTest.js | 65 +++++++++++++++++++ src/test/app.test.jsx | 4 +- src/testUtils.js | 39 ++++++++++- 34 files changed, 168 insertions(+), 233 deletions(-) diff --git a/src/components/ConfirmModal.test.jsx b/src/components/ConfirmModal.test.jsx index bc5fb05..9f68234 100644 --- a/src/components/ConfirmModal.test.jsx +++ b/src/components/ConfirmModal.test.jsx @@ -2,12 +2,6 @@ import { shallow } from 'enzyme'; import { ConfirmModal } from './ConfirmModal'; -jest.mock('@edx/paragon', () => ({ - ActionRow: () => 'ActionRow', - AlertModal: () => 'AlertModal', - Button: () => 'Button', -})); - describe('ConfirmModal', () => { const props = { isOpen: false, diff --git a/src/components/InfoPopover/__snapshots__/index.test.jsx.snap b/src/components/InfoPopover/__snapshots__/index.test.jsx.snap index 7738db5..08ccc24 100644 --- a/src/components/InfoPopover/__snapshots__/index.test.jsx.snap +++ b/src/components/InfoPopover/__snapshots__/index.test.jsx.snap @@ -7,11 +7,11 @@ exports[`Info Popover Component snapshot 1`] = ` - +
Children component
-
+
} placement="right-end" @@ -20,7 +20,7 @@ exports[`Info Popover Component snapshot 1`] = ` diff --git a/src/components/InfoPopover/index.jsx b/src/components/InfoPopover/index.jsx index cac8fb9..0a29cdd 100644 --- a/src/components/InfoPopover/index.jsx +++ b/src/components/InfoPopover/index.jsx @@ -6,7 +6,6 @@ import { Popover, Icon, IconButton, - PopoverContent, } from '@edx/paragon'; import { InfoOutline } from '@edx/paragon/icons'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; @@ -23,7 +22,7 @@ export const InfoPopover = ({ children, intl }) => ( flip overlay={( - {children} + {children} )} > diff --git a/src/components/InfoPopover/index.test.jsx b/src/components/InfoPopover/index.test.jsx index 4159700..f44eb12 100644 --- a/src/components/InfoPopover/index.test.jsx +++ b/src/components/InfoPopover/index.test.jsx @@ -4,18 +4,6 @@ import { shallow } from 'enzyme'; import { formatMessage } from 'testUtils'; import { InfoPopover } from '.'; -jest.mock('@edx/paragon', () => ({ - OverlayTrigger: () => 'OverlayTrigger', - Icon: jest.fn().mockName('Icon'), - IconButton: () => 'IconButton', - Popover: () => 'Popover', - PopoverContent: () => 'PopoverContent', -})); - -jest.mock('@edx/paragon/icons', () => ({ - InfoOutline: jest.fn().mockName('icons.InfoOutline'), -})); - describe('Info Popover Component', () => { const child =
Children component
; test('snapshot', () => { diff --git a/src/containers/CourseHeader/AnonymousUserMenu.test.jsx b/src/containers/CourseHeader/AnonymousUserMenu.test.jsx index 7a564a6..aee1a41 100644 --- a/src/containers/CourseHeader/AnonymousUserMenu.test.jsx +++ b/src/containers/CourseHeader/AnonymousUserMenu.test.jsx @@ -11,9 +11,6 @@ jest.mock('@edx/frontend-platform', () => ({ jest.mock('@edx/frontend-platform/auth', () => ({ getLoginRedirectUrl: (url) => `redirect:${url}`, })); -jest.mock('@edx/paragon', () => ({ - Button: () => 'Button', -})); describe('Header AnonymousUserMenu component', () => { const props = { diff --git a/src/containers/CourseHeader/AuthenticatedUserDropdown/UserAvatar.test.jsx b/src/containers/CourseHeader/AuthenticatedUserDropdown/UserAvatar.test.jsx index a28a655..0a2873f 100644 --- a/src/containers/CourseHeader/AuthenticatedUserDropdown/UserAvatar.test.jsx +++ b/src/containers/CourseHeader/AuthenticatedUserDropdown/UserAvatar.test.jsx @@ -10,15 +10,6 @@ jest.mock('@edx/frontend-platform', () => ({ SUPPORT_URL: '', }), })); -jest.mock('@edx/paragon', () => ({ - Dropdown: { - Toggle: () => 'Dropdown.Toggle', - Item: () => 'Dropdown.Item', - }, -})); -jest.mock('@fortawesome/react-fontawesome', () => ({ - FontAwesomeIcon: () => 'FontAwesomeIcon', -})); describe('Header AuthenticatedUserDropdown UserAvatar component', () => { const props = { diff --git a/src/containers/CourseHeader/AuthenticatedUserDropdown/UserMenu.test.jsx b/src/containers/CourseHeader/AuthenticatedUserDropdown/UserMenu.test.jsx index f340ea4..1672d6c 100644 --- a/src/containers/CourseHeader/AuthenticatedUserDropdown/UserMenu.test.jsx +++ b/src/containers/CourseHeader/AuthenticatedUserDropdown/UserMenu.test.jsx @@ -10,19 +10,6 @@ jest.mock('@edx/frontend-platform', () => ({ SUPPORT_URL: '', }), })); -jest.mock('@edx/paragon', () => { - const Dropdown = () => 'Dropdown'; - Dropdown.Toggle = () => 'Dropdown.Toggle'; - Dropdown.Menu = () => 'Dropdown.Menu'; - Dropdown.Item = () => 'Dropdown.Item'; - return { Dropdown }; -}); -jest.mock('@fortawesome/react-fontawesome', () => ({ - FontAwesomeIcon: () => 'FontAwesomeIcon', -})); -jest.mock('@fortawesome/free-solid-svg-icons', () => ({ - faUserCircle: 'fa-user-circle-icon', -})); describe('Header AuthenticatedUserDropdown UserMenu component', () => { const props = { diff --git a/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserAvatar.test.jsx.snap b/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserAvatar.test.jsx.snap index 9737821..27ca085 100644 --- a/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserAvatar.test.jsx.snap +++ b/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserAvatar.test.jsx.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Header AuthenticatedUserDropdown UserAvatar component snapshot 1`] = ` - test-username - + `; diff --git a/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserMenu.test.jsx.snap b/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserMenu.test.jsx.snap index fb30595..2b677fc 100644 --- a/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserMenu.test.jsx.snap +++ b/src/containers/CourseHeader/AuthenticatedUserDropdown/__snapshots__/UserMenu.test.jsx.snap @@ -1,28 +1,28 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Header AuthenticatedUserDropdown UserMenu component snapshot 1`] = ` - - Dashboard - - + Profile - - + Account - - + Sign Out - - + + `; diff --git a/src/containers/CourseHeader/AuthenticatedUserDropdown/index.test.jsx b/src/containers/CourseHeader/AuthenticatedUserDropdown/index.test.jsx index 5e1dc71..abf4679 100644 --- a/src/containers/CourseHeader/AuthenticatedUserDropdown/index.test.jsx +++ b/src/containers/CourseHeader/AuthenticatedUserDropdown/index.test.jsx @@ -8,9 +8,6 @@ jest.mock('@edx/frontend-platform', () => ({ SUPPORT_URL: '', }), })); -jest.mock('@edx/paragon', () => ({ - Dropdown: () => 'Dropdown', -})); jest.mock('./UserAvatar', () => 'UserAvatar'); jest.mock('./UserMenu', () => 'UserMenu'); diff --git a/src/containers/CriterionContainer/CriterionFeedback.test.jsx b/src/containers/CriterionContainer/CriterionFeedback.test.jsx index aab1239..b1c3f63 100644 --- a/src/containers/CriterionContainer/CriterionFeedback.test.jsx +++ b/src/containers/CriterionContainer/CriterionFeedback.test.jsx @@ -13,12 +13,6 @@ import { mapDispatchToProps, } from './CriterionFeedback'; -jest.mock('@edx/paragon', () => ({ - Form: { - Control: () => 'Form.Control', - }, -})); - jest.mock('data/redux/app/selectors', () => ({ rubric: { criterionFeedbackConfig: jest.fn((...args) => ({ diff --git a/src/containers/CriterionContainer/RadioCriterion.test.jsx b/src/containers/CriterionContainer/RadioCriterion.test.jsx index c18ba54..eee58ad 100644 --- a/src/containers/CriterionContainer/RadioCriterion.test.jsx +++ b/src/containers/CriterionContainer/RadioCriterion.test.jsx @@ -9,13 +9,6 @@ import { mapStateToProps, } from './RadioCriterion'; -jest.mock('@edx/paragon', () => ({ - Form: { - RadioSet: () => 'Form.RadioSet', - Radio: () => 'Form.Radio', - }, -})); - jest.mock('data/redux/app/selectors', () => ({ rubric: { criterionConfig: jest.fn((...args) => ({ diff --git a/src/containers/CriterionContainer/ReviewCriterion.test.jsx b/src/containers/CriterionContainer/ReviewCriterion.test.jsx index 34a68ac..80a1134 100644 --- a/src/containers/CriterionContainer/ReviewCriterion.test.jsx +++ b/src/containers/CriterionContainer/ReviewCriterion.test.jsx @@ -5,13 +5,6 @@ import { selectors } from 'data/redux'; import { ReviewCriterion, mapStateToProps } from './ReviewCriterion'; import messages from './messages'; -jest.mock('@edx/paragon', () => ({ - Form: { - Label: () => 'Form.Label', - }, - FormControlFeedback: () => 'FormControlFeedback', -})); - jest.mock('data/redux/app/selectors', () => ({ rubric: { criterionConfig: jest.fn((...args) => ({ diff --git a/src/containers/CriterionContainer/__snapshots__/CriterionFeedback.test.jsx.snap b/src/containers/CriterionContainer/__snapshots__/CriterionFeedback.test.jsx.snap index 74bc88d..4ba98df 100644 --- a/src/containers/CriterionContainer/__snapshots__/CriterionFeedback.test.jsx.snap +++ b/src/containers/CriterionContainer/__snapshots__/CriterionFeedback.test.jsx.snap @@ -3,7 +3,7 @@ exports[`Criterion Feedback snapshot is configure to disabled 1`] = `null`; exports[`Criterion Feedback snapshot is graded 1`] = ` - - - this label - - + this label 2 - - + + `; exports[`Radio Criterion Container snapshot is not grading 1`] = ` - - this label - - + this label 2 - - + + `; diff --git a/src/containers/CriterionContainer/__snapshots__/ReviewCriterion.test.jsx.snap b/src/containers/CriterionContainer/__snapshots__/ReviewCriterion.test.jsx.snap index 105c3f0..d2aa694 100644 --- a/src/containers/CriterionContainer/__snapshots__/ReviewCriterion.test.jsx.snap +++ b/src/containers/CriterionContainer/__snapshots__/ReviewCriterion.test.jsx.snap @@ -9,11 +9,11 @@ exports[`Review Crition Container snapshot 1`] = ` key="option name" >
- + @@ -35,11 +35,11 @@ exports[`Review Crition Container snapshot 1`] = ` key="option name 2" >
- + diff --git a/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap b/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap index fce0421..fbc78b6 100644 --- a/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap +++ b/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap @@ -1,8 +1,8 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Criterion Container snapshot is graded and is not grading 1`] = ` - - +
@@ -45,12 +45,12 @@ exports[`Criterion Container snapshot is graded and is not grading 1`] = ` isGrading={false} orderNum={1} /> - + `; exports[`Criterion Container snapshot is ungraded and is grading 1`] = ` - - +
@@ -93,12 +93,12 @@ exports[`Criterion Container snapshot is ungraded and is grading 1`] = ` isGrading={true} orderNum={1} /> - + `; exports[`Criterion Container snapshot is ungraded and is not grading 1`] = ` - - +
@@ -140,5 +140,5 @@ exports[`Criterion Container snapshot is ungraded and is not grading 1`] = ` isGrading={false} orderNum={1} /> - + `; diff --git a/src/containers/CriterionContainer/index.test.jsx b/src/containers/CriterionContainer/index.test.jsx index cb8bef1..de3842e 100644 --- a/src/containers/CriterionContainer/index.test.jsx +++ b/src/containers/CriterionContainer/index.test.jsx @@ -11,13 +11,6 @@ jest.mock('./RadioCriterion', () => 'RadioCriterion'); jest.mock('./CriterionFeedback', () => 'CriterionFeedback'); jest.mock('./ReviewCriterion', () => 'ReviewCriterion'); -jest.mock('@edx/paragon', () => ({ - Form: { - Group: () => 'Form.Group', - Label: () => 'Form.Label', - }, -})); - jest.mock('data/redux/app/selectors', () => ({ rubric: { criterionConfig: jest.fn((...args) => ({ diff --git a/src/containers/ListView/ListViewBreadcrumb.test.jsx b/src/containers/ListView/ListViewBreadcrumb.test.jsx index bca3590..d848b6c 100644 --- a/src/containers/ListView/ListViewBreadcrumb.test.jsx +++ b/src/containers/ListView/ListViewBreadcrumb.test.jsx @@ -1,9 +1,7 @@ import React from 'react'; import { shallow } from 'enzyme'; -import { - Hyperlink, -} from '@edx/paragon'; +import { Hyperlink } from '@edx/paragon'; import * as constants from 'data/constants/app'; import urls from 'data/services/lms/urls'; @@ -14,15 +12,6 @@ import { mapStateToProps, } from './ListViewBreadcrumb'; -jest.mock('@edx/paragon', () => ({ - Hyperlink: () => 'Hyperlink', - Icon: () => 'Icon', -})); -jest.mock('@edx/paragon/icons', () => ({ - ArrowBack: 'icons.ArrowBack', - Launch: 'icons.Launch', -})); - jest.mock('data/redux/app/selectors', () => ({ courseId: (...args) => ({ courseId: args }), ora: { diff --git a/src/containers/ListView/__snapshots__/ListViewBreadcrumb.test.jsx.snap b/src/containers/ListView/__snapshots__/ListViewBreadcrumb.test.jsx.snap index fdd2b8f..687656a 100644 --- a/src/containers/ListView/__snapshots__/ListViewBreadcrumb.test.jsx.snap +++ b/src/containers/ListView/__snapshots__/ListViewBreadcrumb.test.jsx.snap @@ -8,7 +8,7 @@ exports[`ListViewBreadcrumb component component snapshot: empty (no list data) 1 >

diff --git a/src/containers/ListView/index.test.jsx b/src/containers/ListView/index.test.jsx index 93540f1..b8b4d4a 100644 --- a/src/containers/ListView/index.test.jsx +++ b/src/containers/ListView/index.test.jsx @@ -19,20 +19,6 @@ import { mapDispatchToProps, } from '.'; -jest.mock('@edx/paragon', () => { - const mockDataTable = () => 'DataTable'; - Object.defineProperty(mockDataTable, 'name', { value: 'DataTable' }); - mockDataTable.TableControlBar = 'DataTable.TableControlBar'; - mockDataTable.Table = 'DataTable.Table'; - mockDataTable.EmptyTable = 'DataTable.EmptyTable'; - mockDataTable.TableFooter = 'DataTable.TableFooter'; - return { - DataTable: mockDataTable, - TextFilter: 'TextFilter', - MultiSelectDropdownFilter: 'MultiSelectDropdownFilter', - Container: () => 'Container', - }; -}); jest.mock('components/StatusBadge', () => 'StatusBadge'); jest.mock('containers/ReviewModal', () => 'ReviewModal'); jest.mock('./ListViewBreadcrumb', () => 'ListViewBreadcrumb'); diff --git a/src/containers/ResponseDisplay/SubmissionFiles.test.jsx b/src/containers/ResponseDisplay/SubmissionFiles.test.jsx index 4e93ad2..c8378f7 100644 --- a/src/containers/ResponseDisplay/SubmissionFiles.test.jsx +++ b/src/containers/ResponseDisplay/SubmissionFiles.test.jsx @@ -4,33 +4,6 @@ import { shallow } from 'enzyme'; import { formatMessage } from 'testUtils'; import { SubmissionFiles } from './SubmissionFiles'; -jest.mock('@edx/paragon', () => { - const Card = () => 'Card'; - const Collapsible = {}; - Collapsible.Advanced = 'Collapsible.Advanced'; - Collapsible.Trigger = 'Collapsible.Trigger'; - Collapsible.Visible = 'Collapsible.Visible'; - Collapsible.Body = 'Collapsible.Body'; - - const Button = () => 'Button'; - const Icon = () => 'Icon'; - const DataTable = () => 'DataTable'; - DataTable.Table = 'DataTable.Table'; - - return { - Card, - Collapsible, - Button, - Icon, - DataTable, - }; -}); - -jest.mock('@edx/paragon/icons', () => ({ - ArrowDropDown: jest.fn().mockName('Icons.ArrowDropDown'), - ArrowDropUp: jest.fn().mockName('Icons.ArrowDropUp'), -})); - jest.mock('./components/FileNameCell', () => jest.fn().mockName('FileNameCell')); jest.mock('./components/FileExtensionCell', () => jest.fn().mockName('FileExtensionCell')); jest.mock('./components/FilePopoverCell', () => jest.fn().mockName('FilePopoverCell')); diff --git a/src/containers/ResponseDisplay/__snapshots__/SubmissionFiles.test.jsx.snap b/src/containers/ResponseDisplay/__snapshots__/SubmissionFiles.test.jsx.snap index 8dcc025..aff612c 100644 --- a/src/containers/ResponseDisplay/__snapshots__/SubmissionFiles.test.jsx.snap +++ b/src/containers/ResponseDisplay/__snapshots__/SubmissionFiles.test.jsx.snap @@ -31,14 +31,14 @@ exports[`SubmissionFiles component snapshot files exited for props 1`] = ` whenClosed={true} > diff --git a/src/containers/ResponseDisplay/index.test.jsx b/src/containers/ResponseDisplay/index.test.jsx index e06723c..db069b7 100644 --- a/src/containers/ResponseDisplay/index.test.jsx +++ b/src/containers/ResponseDisplay/index.test.jsx @@ -9,14 +9,6 @@ import { selectors } from 'data/redux'; import { ResponseDisplay, mapStateToProps } from '.'; -jest.mock('@edx/paragon', () => { - const Card = () => 'Card'; - Card.Body = 'Card.Body'; - return { - Card, - }; -}); - jest.mock('data/redux', () => ({ selectors: { grading: { diff --git a/src/containers/ReviewActions/components/StartGradingButton.test.jsx b/src/containers/ReviewActions/components/StartGradingButton.test.jsx index 41eaa1a..ce16f58 100644 --- a/src/containers/ReviewActions/components/StartGradingButton.test.jsx +++ b/src/containers/ReviewActions/components/StartGradingButton.test.jsx @@ -10,13 +10,6 @@ import { mapDispatchToProps, } from './StartGradingButton'; -jest.mock('@edx/paragon', () => ({ - Button: () => 'Button', -})); -jest.mock('@edx/paragon/icons', () => ({ - Cancel: 'Cancel', - Highlight: 'Highlight', -})); jest.mock('data/redux/grading/selectors', () => ({ selected: { gradeStatus: (state) => ({ gradeStatus: state }), diff --git a/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx b/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx index 6a23ad7..48a37cd 100644 --- a/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx +++ b/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx @@ -11,14 +11,6 @@ import { mapDispatchToProps, } from './SubmissionNavigation'; -jest.mock('@edx/paragon', () => ({ - Icon: () => 'Icon', - IconButton: () => 'IconButton', -})); -jest.mock('@edx/paragon/icons', () => ({ - ChevronLeft: 'ChevronLeft', - ChevronRight: 'ChevronRight', -})); jest.mock('data/redux/grading/selectors', () => ({ prev: { doesExist: (state) => ({ prevDoesExist: state }), diff --git a/src/containers/ReviewActions/components/__snapshots__/StartGradingButton.test.jsx.snap b/src/containers/ReviewActions/components/__snapshots__/StartGradingButton.test.jsx.snap index 06c5367..1b5a5d6 100644 --- a/src/containers/ReviewActions/components/__snapshots__/StartGradingButton.test.jsx.snap +++ b/src/containers/ReviewActions/components/__snapshots__/StartGradingButton.test.jsx.snap @@ -3,7 +3,7 @@ exports[`StartGradingButton component component snapshotes snapshot: graded, confirmOverride (startGrading callback) 1`] = `