diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 00a8939685..48f7f52804 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -124,7 +124,7 @@ API requests can and will fail occasionally so they should include explicit erro ### App structure -All source code lives in the `/src` directory and all tests live in the `/__tests__` directory (mimicing the internal structure of `/src`). +All source code lives in the `/src` directory and all tests live in the `/testUtils` directory (mimicing the internal structure of `/src`). Inside these folders, the internal structure is: - **/components** - All generic components that are meant to be used in multiple contexts throughout awx. Things like buttons, tabs go here. @@ -251,7 +251,7 @@ this.state = { ### Testing components that use contexts -We have several React contexts that wrap much of the app, including those from react-router, lingui, and some of our own. When testing a component that depends on one or more of these, you can use the `mountWithContexts()` helper function found in `__tests__/enzymeHelpers.jsx`. This can be used just like Enzyme's `mount()` function, except it will wrap the component tree with the necessary context providers and basic stub data. +We have several React contexts that wrap much of the app, including those from react-router, lingui, and some of our own. When testing a component that depends on one or more of these, you can use the `mountWithContexts()` helper function found in `testUtils/enzymeHelpers.jsx`. This can be used just like Enzyme's `mount()` function, except it will wrap the component tree with the necessary context providers and basic stub data. If you want to stub the value of a context, or assert actions taken on it, you can customize a contexts value by passing a second parameter to `mountWithContexts`. For example, this provides a custom value for the `Config` context: diff --git a/README.md b/README.md index 7f1ef077c8..bab3f4db13 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,6 @@ To run the unit tests on files that you've changed: * `npm test` To run a single test (in this case the login page test): -* `npm test -- __tests__/pages/Login.test.jsx` +* `npm test -- testUtils/pages/Login.test.jsx` **note:** Once the test watcher is up and running you can hit `a` to run all the tests diff --git a/__tests__/pages/Templates/Templates.test.jsx b/__tests__/pages/Templates/Templates.test.jsx deleted file mode 100644 index 8613454691..0000000000 --- a/__tests__/pages/Templates/Templates.test.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import { mountWithContexts } from '../../enzymeHelpers'; -import Templates from '../../../src/pages/Templates/Templates'; - -describe('', () => { - test('initially renders succesfully', () => { - mountWithContexts( - - ); - }); -}); diff --git a/jest.config.js b/jest.config.js index 00fe0f1d72..70a5f6e987 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,7 +3,8 @@ module.exports = { 'src/**/*.{js,jsx}' ], coveragePathIgnorePatterns: [ - '/src/locales' + '/src/locales', + 'index.js' ], moduleNameMapper: { '\\.(css|scss|less)$': '/__mocks__/styleMock.js' diff --git a/__tests__/App.test.jsx b/src/App.test.jsx similarity index 95% rename from __tests__/App.test.jsx rename to src/App.test.jsx index 0565ac23d2..439650c9e2 100644 --- a/__tests__/App.test.jsx +++ b/src/App.test.jsx @@ -1,12 +1,12 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from './enzymeHelpers'; +import { mountWithContexts, waitForElement } from '../testUtils/enzymeHelpers'; import { asyncFlush } from '../jest.setup'; -import App from '../src/App'; -import { ConfigAPI, MeAPI, RootAPI } from '../src/api'; +import App from './App'; +import { ConfigAPI, MeAPI, RootAPI } from './api'; -jest.mock('../src/api'); +jest.mock('./api'); describe('', () => { const ansible_version = '111'; diff --git a/__tests__/RootProvider.test.jsx b/src/RootProvider.test.jsx similarity index 89% rename from __tests__/RootProvider.test.jsx rename to src/RootProvider.test.jsx index b09fd033a3..e89f37a8f7 100644 --- a/__tests__/RootProvider.test.jsx +++ b/src/RootProvider.test.jsx @@ -1,4 +1,4 @@ -import { getLanguage } from '../src/RootProvider'; +import { getLanguage } from './RootProvider'; describe('RootProvider.jsx', () => { test('getLanguage returns the expected language code', () => { diff --git a/__tests__/api/base.test.jsx b/src/api/Base.test.jsx similarity index 98% rename from __tests__/api/base.test.jsx rename to src/api/Base.test.jsx index e7b79fe5b2..6cd21c6be5 100644 --- a/__tests__/api/base.test.jsx +++ b/src/api/Base.test.jsx @@ -1,4 +1,4 @@ -import Base from '../../src/api/Base'; +import Base from './Base'; describe('Base', () => { const createPromise = () => Promise.resolve(); diff --git a/__tests__/api/organizations.test.jsx b/src/api/models/Organizations.test.jsx similarity index 91% rename from __tests__/api/organizations.test.jsx rename to src/api/models/Organizations.test.jsx index 1b7fc1b6f6..31f6148c60 100644 --- a/__tests__/api/organizations.test.jsx +++ b/src/api/models/Organizations.test.jsx @@ -1,5 +1,5 @@ -import Organizations from '../../src/api/models/Organizations'; -import { describeNotificationMixin } from './reusable'; +import Organizations from './Organizations'; +import { describeNotificationMixin } from '../../../testUtils/apiReusable'; describe('OrganizationsAPI', () => { const orgId = 1; diff --git a/__tests__/api/root.test.jsx b/src/api/models/Root.test.jsx similarity index 96% rename from __tests__/api/root.test.jsx rename to src/api/models/Root.test.jsx index 8ef84a1f1b..4b3c3401ba 100644 --- a/__tests__/api/root.test.jsx +++ b/src/api/models/Root.test.jsx @@ -1,4 +1,4 @@ -import Root from '../../src/api/models/Root'; +import Root from './Root'; describe('RootAPI', () => { const createPromise = () => Promise.resolve(); diff --git a/__tests__/api/teams.test.jsx b/src/api/models/Teams.test.jsx similarity index 95% rename from __tests__/api/teams.test.jsx rename to src/api/models/Teams.test.jsx index 0df8153c08..88b832d7ba 100644 --- a/__tests__/api/teams.test.jsx +++ b/src/api/models/Teams.test.jsx @@ -1,4 +1,4 @@ -import Teams from '../../src/api/models/Teams'; +import Teams from './Teams'; describe('TeamsAPI', () => { const teamId = 1; diff --git a/__tests__/api/users.test.jsx b/src/api/models/Users.test.jsx similarity index 95% rename from __tests__/api/users.test.jsx rename to src/api/models/Users.test.jsx index 3d72ce4a2d..469f7a01d9 100644 --- a/__tests__/api/users.test.jsx +++ b/src/api/models/Users.test.jsx @@ -1,4 +1,4 @@ -import Users from '../../src/api/models/Users'; +import Users from './Users'; describe('UsersAPI', () => { const userId = 1; diff --git a/src/components/About.jsx b/src/components/About/About.jsx similarity index 95% rename from src/components/About.jsx rename to src/components/About/About.jsx index 24ef170b2a..3b75c233d7 100644 --- a/src/components/About.jsx +++ b/src/components/About/About.jsx @@ -9,8 +9,8 @@ import { TextListItem } from '@patternfly/react-core'; -import { BrandName } from '../variables'; -import brandLogoImg from '../../images/brand-logo.svg'; +import { BrandName } from '../../variables'; +import brandLogoImg from '../../../images/brand-logo.svg'; class About extends React.Component { static createSpeechBubble (version) { diff --git a/__tests__/components/About.test.jsx b/src/components/About/About.test.jsx similarity index 86% rename from __tests__/components/About.test.jsx rename to src/components/About/About.test.jsx index 575265b9b7..28ef329ab9 100644 --- a/__tests__/components/About.test.jsx +++ b/src/components/About/About.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import About from '../../src/components/About'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import About from './About'; describe('', () => { let aboutWrapper; diff --git a/src/components/About/index.js b/src/components/About/index.js new file mode 100644 index 0000000000..1ef71b80e7 --- /dev/null +++ b/src/components/About/index.js @@ -0,0 +1 @@ +export { default } from './About'; diff --git a/__tests__/components/AddResourceRole.test.jsx b/src/components/AddRole/AddResourceRole.test.jsx similarity index 95% rename from __tests__/components/AddResourceRole.test.jsx rename to src/components/AddRole/AddResourceRole.test.jsx index 0b0acb307e..00b3d50123 100644 --- a/__tests__/components/AddResourceRole.test.jsx +++ b/src/components/AddRole/AddResourceRole.test.jsx @@ -1,10 +1,11 @@ +/* eslint-disable react/jsx-pascal-case */ import React from 'react'; import { shallow } from 'enzyme'; -import { mountWithContexts } from '../enzymeHelpers'; -import AddResourceRole, { _AddResourceRole } from '../../src/components/AddRole/AddResourceRole'; -import { TeamsAPI, UsersAPI } from '../../src/api'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import AddResourceRole, { _AddResourceRole } from './AddResourceRole'; +import { TeamsAPI, UsersAPI } from '../../api'; -jest.mock('../../src/api'); +jest.mock('../../api'); describe('<_AddResourceRole />', () => { UsersAPI.read.mockResolvedValue({ diff --git a/__tests__/components/CheckboxCard.test.jsx b/src/components/AddRole/CheckboxCard.test.jsx similarity index 81% rename from __tests__/components/CheckboxCard.test.jsx rename to src/components/AddRole/CheckboxCard.test.jsx index 7b689e0dd9..ef38209101 100644 --- a/__tests__/components/CheckboxCard.test.jsx +++ b/src/components/AddRole/CheckboxCard.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import CheckboxCard from '../../src/components/AddRole/CheckboxCard'; +import CheckboxCard from './CheckboxCard'; describe('', () => { let wrapper; diff --git a/src/components/AddRole/SelectResourceStep.jsx b/src/components/AddRole/SelectResourceStep.jsx index 4b9fe95ac6..0d85052736 100644 --- a/src/components/AddRole/SelectResourceStep.jsx +++ b/src/components/AddRole/SelectResourceStep.jsx @@ -5,7 +5,7 @@ import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; import PaginatedDataList from '../PaginatedDataList'; import DataListToolbar from '../DataListToolbar'; -import CheckboxListItem from '../ListItem'; +import CheckboxListItem from '../CheckboxListItem'; import SelectedList from '../SelectedList'; import { getQSConfig, parseNamespacedQueryString } from '../../util/qs'; diff --git a/__tests__/components/SelectResourceStep.test.jsx b/src/components/AddRole/SelectResourceStep.test.jsx similarity index 94% rename from __tests__/components/SelectResourceStep.test.jsx rename to src/components/AddRole/SelectResourceStep.test.jsx index 12912de606..0a43bffa75 100644 --- a/__tests__/components/SelectResourceStep.test.jsx +++ b/src/components/AddRole/SelectResourceStep.test.jsx @@ -1,9 +1,9 @@ import React from 'react'; import { createMemoryHistory } from 'history'; import { shallow } from 'enzyme'; -import { mountWithContexts } from '../enzymeHelpers'; -import { sleep } from '../testUtils'; -import SelectResourceStep from '../../src/components/AddRole/SelectResourceStep'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import { sleep } from '../../../testUtils/testUtils'; +import SelectResourceStep from './SelectResourceStep'; describe('', () => { const columns = [ diff --git a/__tests__/components/SelectRoleStep.test.jsx b/src/components/AddRole/SelectRoleStep.test.jsx similarity index 92% rename from __tests__/components/SelectRoleStep.test.jsx rename to src/components/AddRole/SelectRoleStep.test.jsx index 221014e18f..b8c799a1a9 100644 --- a/__tests__/components/SelectRoleStep.test.jsx +++ b/src/components/AddRole/SelectRoleStep.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { shallow } from 'enzyme'; -import { mountWithContexts } from '../enzymeHelpers'; -import SelectRoleStep from '../../src/components/AddRole/SelectRoleStep'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import SelectRoleStep from './SelectRoleStep'; describe('', () => { let wrapper; diff --git a/__tests__/components/SelectableCard.test.jsx b/src/components/AddRole/SelectableCard.test.jsx similarity index 89% rename from __tests__/components/SelectableCard.test.jsx rename to src/components/AddRole/SelectableCard.test.jsx index fe123f8e8c..beef8f24cf 100644 --- a/__tests__/components/SelectableCard.test.jsx +++ b/src/components/AddRole/SelectableCard.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import SelectableCard from '../../src/components/AddRole/SelectableCard'; +import SelectableCard from './SelectableCard'; describe('', () => { let wrapper; diff --git a/src/components/AddRole/index.js b/src/components/AddRole/index.js new file mode 100644 index 0000000000..806e172146 --- /dev/null +++ b/src/components/AddRole/index.js @@ -0,0 +1,5 @@ +export { default as AddResourceRole } from './AddResourceRole'; +export { default as CheckboxCard } from './CheckboxCard'; +export { default as SelectableCard } from './SelectableCard'; +export { default as SelectResourceStep } from './SelectResourceStep'; +export { default as SelectRoleStep } from './SelectRoleStep'; diff --git a/src/components/AlertModal.jsx b/src/components/AlertModal/AlertModal.jsx similarity index 100% rename from src/components/AlertModal.jsx rename to src/components/AlertModal/AlertModal.jsx diff --git a/src/components/AlertModal/AlertModal.test.jsx b/src/components/AlertModal/AlertModal.test.jsx new file mode 100644 index 0000000000..f5f2d3a574 --- /dev/null +++ b/src/components/AlertModal/AlertModal.test.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import { mount } from 'enzyme'; + +import AlertModal from './AlertModal'; + +describe('AlertModal', () => { + test('renders the expected content', () => { + const wrapper = mount( + + ); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/AlertModal/index.js b/src/components/AlertModal/index.js new file mode 100644 index 0000000000..f40ad70d3d --- /dev/null +++ b/src/components/AlertModal/index.js @@ -0,0 +1 @@ +export { default } from './AlertModal'; diff --git a/__tests__/components/AnsibleSelect.test.jsx b/src/components/AnsibleSelect/AnsibleSelect.test.jsx similarity index 85% rename from __tests__/components/AnsibleSelect.test.jsx rename to src/components/AnsibleSelect/AnsibleSelect.test.jsx index 08d64ef811..d3be54f5d7 100644 --- a/__tests__/components/AnsibleSelect.test.jsx +++ b/src/components/AnsibleSelect/AnsibleSelect.test.jsx @@ -1,7 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import AnsibleSelect from '../../src/components/AnsibleSelect'; -import { _AnsibleSelect } from '../../src/components/AnsibleSelect/AnsibleSelect'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import AnsibleSelect, { _AnsibleSelect } from './AnsibleSelect'; const label = 'test select'; const mockData = ['/venv/baz/', '/venv/ansible/']; diff --git a/src/components/AnsibleSelect/index.js b/src/components/AnsibleSelect/index.js index 219abcfefd..647f195bbd 100644 --- a/src/components/AnsibleSelect/index.js +++ b/src/components/AnsibleSelect/index.js @@ -1,3 +1 @@ -import AnsibleSelect from './AnsibleSelect'; - -export default AnsibleSelect; +export { default } from './AnsibleSelect'; diff --git a/src/components/Background.jsx b/src/components/Background/Background.jsx similarity index 100% rename from src/components/Background.jsx rename to src/components/Background/Background.jsx diff --git a/__tests__/components/Background.test.jsx b/src/components/Background/Background.test.jsx similarity index 86% rename from __tests__/components/Background.test.jsx rename to src/components/Background/Background.test.jsx index a7ebeb8d69..ffab5fb164 100644 --- a/__tests__/components/Background.test.jsx +++ b/src/components/Background/Background.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme'; -import Background from '../../src/components/Background'; +import Background from './Background'; describe('Background', () => { test('renders the expected content', () => { diff --git a/src/components/Background/index.js b/src/components/Background/index.js new file mode 100644 index 0000000000..5f61d4bc31 --- /dev/null +++ b/src/components/Background/index.js @@ -0,0 +1 @@ +export { default } from './Background'; diff --git a/__tests__/components/BrandLogo.test.jsx b/src/components/BrandLogo/BrandLogo.test.jsx similarity index 81% rename from __tests__/components/BrandLogo.test.jsx rename to src/components/BrandLogo/BrandLogo.test.jsx index a4cf9e845e..4d709de959 100644 --- a/__tests__/components/BrandLogo.test.jsx +++ b/src/components/BrandLogo/BrandLogo.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import BrandLogo from '../../src/components/BrandLogo'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import BrandLogo from './BrandLogo'; let logoWrapper; let brandLogoElem; diff --git a/src/components/BrandLogo/index.js b/src/components/BrandLogo/index.js index d81125fb7f..aa50d3906d 100644 --- a/src/components/BrandLogo/index.js +++ b/src/components/BrandLogo/index.js @@ -1,3 +1 @@ -import BrandLogo from './BrandLogo'; - -export default BrandLogo; +export { default } from './BrandLogo'; diff --git a/__tests__/components/Breadcrumbs.test.jsx b/src/components/Breadcrumbs/Breadcrumbs.test.jsx similarity index 96% rename from __tests__/components/Breadcrumbs.test.jsx rename to src/components/Breadcrumbs/Breadcrumbs.test.jsx index eb1122d2da..71d1265fe9 100644 --- a/__tests__/components/Breadcrumbs.test.jsx +++ b/src/components/Breadcrumbs/Breadcrumbs.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme'; import { MemoryRouter } from 'react-router-dom'; -import Breadcrumbs from '../../src/components/Breadcrumbs/Breadcrumbs'; +import Breadcrumbs from './Breadcrumbs'; describe('', () => { let breadcrumbWrapper; diff --git a/src/components/Breadcrumbs/index.js b/src/components/Breadcrumbs/index.js new file mode 100644 index 0000000000..3ff68ca589 --- /dev/null +++ b/src/components/Breadcrumbs/index.js @@ -0,0 +1 @@ +export { default } from './Breadcrumbs'; diff --git a/src/components/CardCloseButton.jsx b/src/components/CardCloseButton/CardCloseButton.jsx similarity index 100% rename from src/components/CardCloseButton.jsx rename to src/components/CardCloseButton/CardCloseButton.jsx diff --git a/__tests__/components/CardCloseButton.test.jsx b/src/components/CardCloseButton/CardCloseButton.test.jsx similarity index 86% rename from __tests__/components/CardCloseButton.test.jsx rename to src/components/CardCloseButton/CardCloseButton.test.jsx index e28131e7ec..3564971c72 100644 --- a/__tests__/components/CardCloseButton.test.jsx +++ b/src/components/CardCloseButton/CardCloseButton.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import CardCloseButton from '../../src/components/CardCloseButton'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import CardCloseButton from './CardCloseButton'; describe('', () => { test('should render close button', () => { diff --git a/src/components/CardCloseButton/index.js b/src/components/CardCloseButton/index.js new file mode 100644 index 0000000000..5f2d2157be --- /dev/null +++ b/src/components/CardCloseButton/index.js @@ -0,0 +1 @@ +export { default } from './CardCloseButton'; diff --git a/src/components/ListItem/CheckboxListItem.jsx b/src/components/CheckboxListItem/CheckboxListItem.jsx similarity index 100% rename from src/components/ListItem/CheckboxListItem.jsx rename to src/components/CheckboxListItem/CheckboxListItem.jsx diff --git a/src/components/CheckboxListItem/CheckboxListItem.test.jsx b/src/components/CheckboxListItem/CheckboxListItem.test.jsx new file mode 100644 index 0000000000..ad0603f5f1 --- /dev/null +++ b/src/components/CheckboxListItem/CheckboxListItem.test.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { mount } from 'enzyme'; + +import CheckboxListItem from './CheckboxListItem'; + +describe('CheckboxListItem', () => { + test('renders the expected content', () => { + const wrapper = mount( + {}} + /> + ); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/CheckboxListItem/index.js b/src/components/CheckboxListItem/index.js new file mode 100644 index 0000000000..f1c4287a66 --- /dev/null +++ b/src/components/CheckboxListItem/index.js @@ -0,0 +1 @@ +export { default } from './CheckboxListItem'; diff --git a/src/components/Chip/Chip.test.jsx b/src/components/Chip/Chip.test.jsx new file mode 100644 index 0000000000..0d4850da6d --- /dev/null +++ b/src/components/Chip/Chip.test.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { mount } from 'enzyme'; + +import Chip from './Chip'; + +describe('Chip', () => { + test('renders the expected content', () => { + const wrapper = mount(); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/__tests__/components/Chip/ChipGroup.test.jsx b/src/components/Chip/ChipGroup.test.jsx similarity index 94% rename from __tests__/components/Chip/ChipGroup.test.jsx rename to src/components/Chip/ChipGroup.test.jsx index 982f52592c..836d0f8ba6 100644 --- a/__tests__/components/Chip/ChipGroup.test.jsx +++ b/src/components/Chip/ChipGroup.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; -import { mountWithContexts } from '../../enzymeHelpers'; -import { ChipGroup, Chip } from '../../../src/components/Chip'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import { ChipGroup, Chip } from '.'; describe('', () => { test('should render all chips', () => { diff --git a/src/components/CodeMirrorInput/VariablesField.test.jsx b/src/components/CodeMirrorInput/VariablesField.test.jsx index 94711209fc..e1fb8221af 100644 --- a/src/components/CodeMirrorInput/VariablesField.test.jsx +++ b/src/components/CodeMirrorInput/VariablesField.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme'; import { Formik } from 'formik'; -import { sleep } from '../../../__tests__/testUtils'; +import { sleep } from '../../../testUtils/testUtils'; import VariablesField from './VariablesField'; describe('VariablesField', () => { diff --git a/src/components/ContentEmpty.jsx b/src/components/ContentEmpty/ContentEmpty.jsx similarity index 100% rename from src/components/ContentEmpty.jsx rename to src/components/ContentEmpty/ContentEmpty.jsx diff --git a/src/components/ContentEmpty/ContentEmpty.test.jsx b/src/components/ContentEmpty/ContentEmpty.test.jsx new file mode 100644 index 0000000000..6498dc76cc --- /dev/null +++ b/src/components/ContentEmpty/ContentEmpty.test.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import ContentEmpty from './ContentEmpty'; + +describe('ContentEmpty', () => { + test('renders the expected content', () => { + const wrapper = mountWithContexts(); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/ContentEmpty/index.js b/src/components/ContentEmpty/index.js new file mode 100644 index 0000000000..cdf62bc881 --- /dev/null +++ b/src/components/ContentEmpty/index.js @@ -0,0 +1 @@ +export { default } from './ContentEmpty'; diff --git a/src/components/ContentError.jsx b/src/components/ContentError/ContentError.jsx similarity index 100% rename from src/components/ContentError.jsx rename to src/components/ContentError/ContentError.jsx diff --git a/src/components/ContentError/ContentError.test.jsx b/src/components/ContentError/ContentError.test.jsx new file mode 100644 index 0000000000..db0d32c3aa --- /dev/null +++ b/src/components/ContentError/ContentError.test.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import ContentError from './ContentError'; + +describe('ContentError', () => { + test('renders the expected content', () => { + const wrapper = mountWithContexts(); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/ContentError/index.js b/src/components/ContentError/index.js new file mode 100644 index 0000000000..14587f410d --- /dev/null +++ b/src/components/ContentError/index.js @@ -0,0 +1 @@ +export { default } from './ContentError'; diff --git a/src/components/ContentLoading.jsx b/src/components/ContentLoading/ContentLoading.jsx similarity index 100% rename from src/components/ContentLoading.jsx rename to src/components/ContentLoading/ContentLoading.jsx diff --git a/src/components/ContentLoading/ContentLoading.test.jsx b/src/components/ContentLoading/ContentLoading.test.jsx new file mode 100644 index 0000000000..c2816e2582 --- /dev/null +++ b/src/components/ContentLoading/ContentLoading.test.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import ContentLoading from './ContentLoading'; + +describe('ContentLoading', () => { + test('renders the expected content', () => { + const wrapper = mountWithContexts(); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/ContentLoading/index.js b/src/components/ContentLoading/index.js new file mode 100644 index 0000000000..0e87a3fb97 --- /dev/null +++ b/src/components/ContentLoading/index.js @@ -0,0 +1 @@ +export { default } from './ContentLoading'; diff --git a/__tests__/components/DataListToolbar.test.jsx b/src/components/DataListToolbar/DataListToolbar.test.jsx similarity index 98% rename from __tests__/components/DataListToolbar.test.jsx rename to src/components/DataListToolbar/DataListToolbar.test.jsx index c227291c77..de1d1d8624 100644 --- a/__tests__/components/DataListToolbar.test.jsx +++ b/src/components/DataListToolbar/DataListToolbar.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import DataListToolbar from '../../src/components/DataListToolbar'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import DataListToolbar from './DataListToolbar'; describe('', () => { let toolbar; diff --git a/src/components/DataListToolbar/index.js b/src/components/DataListToolbar/index.js index e1f0a45dc8..038f069017 100644 --- a/src/components/DataListToolbar/index.js +++ b/src/components/DataListToolbar/index.js @@ -1,3 +1 @@ -import DataListToolbar from './DataListToolbar'; - -export default DataListToolbar; +export { default } from './DataListToolbar'; diff --git a/src/components/DetailList/Detail.test.jsx b/src/components/DetailList/Detail.test.jsx new file mode 100644 index 0000000000..136d6bfcb5 --- /dev/null +++ b/src/components/DetailList/Detail.test.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import { mount } from 'enzyme'; + +import Detail from './Detail'; + +describe('Detail', () => { + test('renders the expected content', () => { + const wrapper = mount( + + ); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/DetailList/DetailList.test.jsx b/src/components/DetailList/DetailList.test.jsx new file mode 100644 index 0000000000..5e41f75de6 --- /dev/null +++ b/src/components/DetailList/DetailList.test.jsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { mount } from 'enzyme'; + +import DetailList from './DetailList'; + +describe('DetailList', () => { + test('renders the expected content', () => { + const wrapper = mount(); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/__tests__/components/ExpandCollapse.test.jsx b/src/components/ExpandCollapse/ExpandCollapse.test.jsx similarity index 78% rename from __tests__/components/ExpandCollapse.test.jsx rename to src/components/ExpandCollapse/ExpandCollapse.test.jsx index 5e60e81a5e..74b37d6235 100644 --- a/__tests__/components/ExpandCollapse.test.jsx +++ b/src/components/ExpandCollapse/ExpandCollapse.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import ExpandCollapse from '../../src/components/ExpandCollapse'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import ExpandCollapse from './ExpandCollapse'; describe('', () => { const onCompact = jest.fn(); diff --git a/src/components/ExpandCollapse/index.js b/src/components/ExpandCollapse/index.js index 3bc9066e88..997c5b6181 100644 --- a/src/components/ExpandCollapse/index.js +++ b/src/components/ExpandCollapse/index.js @@ -1,3 +1 @@ -import ExpandCollapse from './ExpandCollapse'; - -export default ExpandCollapse; +export { default } from './ExpandCollapse'; diff --git a/src/components/FormActionGroup/FormActionGroup.test.jsx b/src/components/FormActionGroup/FormActionGroup.test.jsx new file mode 100644 index 0000000000..0e35b4b879 --- /dev/null +++ b/src/components/FormActionGroup/FormActionGroup.test.jsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import FormActionGroup from './FormActionGroup'; + +describe('FormActionGroup', () => { + test('renders the expected content', () => { + const wrapper = mountWithContexts( + {}} + onCancel={() => {}} + /> + ); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/FormActionGroup/index.js b/src/components/FormActionGroup/index.js new file mode 100644 index 0000000000..30c9e11f1a --- /dev/null +++ b/src/components/FormActionGroup/index.js @@ -0,0 +1 @@ +export { default } from './FormActionGroup'; diff --git a/src/components/FormField.jsx b/src/components/FormField/FormField.jsx similarity index 93% rename from src/components/FormField.jsx rename to src/components/FormField/FormField.jsx index 177f8eeaa1..b31297fa48 100644 --- a/src/components/FormField.jsx +++ b/src/components/FormField/FormField.jsx @@ -11,7 +11,7 @@ function FormField (props) { name={name} validate={validate} render={({ field, form }) => { - const isValid = !form.touched[field.name] || !form.errors[field.name]; + const isValid = form && (!form.touched[field.name] || !form.errors[field.name]); return ( { + test('renders the expected content', () => { + const wrapper = mount(); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/FormRow/index.js b/src/components/FormRow/index.js new file mode 100644 index 0000000000..8f063b5ff2 --- /dev/null +++ b/src/components/FormRow/index.js @@ -0,0 +1 @@ +export { default } from './FormRow'; diff --git a/src/components/ListItem/index.js b/src/components/ListItem/index.js deleted file mode 100644 index cfc19060dd..0000000000 --- a/src/components/ListItem/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import CheckboxListItem from './CheckboxListItem'; - -export default CheckboxListItem; diff --git a/src/components/Lookup/Lookup.jsx b/src/components/Lookup/Lookup.jsx index 9d69ba7049..63d9291914 100644 --- a/src/components/Lookup/Lookup.jsx +++ b/src/components/Lookup/Lookup.jsx @@ -13,7 +13,7 @@ import { t } from '@lingui/macro'; import PaginatedDataList from '../PaginatedDataList'; import DataListToolbar from '../DataListToolbar'; -import CheckboxListItem from '../ListItem'; +import CheckboxListItem from '../CheckboxListItem'; import SelectedList from '../SelectedList'; import { ChipGroup, Chip } from '../Chip'; import { getQSConfig, parseNamespacedQueryString } from '../../util/qs'; diff --git a/__tests__/components/Lookup.test.jsx b/src/components/Lookup/Lookup.test.jsx similarity index 97% rename from __tests__/components/Lookup.test.jsx rename to src/components/Lookup/Lookup.test.jsx index eb7ccd98d7..3a651c8178 100644 --- a/__tests__/components/Lookup.test.jsx +++ b/src/components/Lookup/Lookup.test.jsx @@ -1,8 +1,8 @@ +/* eslint-disable react/jsx-pascal-case */ import React from 'react'; import { createMemoryHistory } from 'history'; -import { mountWithContexts } from '../enzymeHelpers'; -import Lookup from '../../src/components/Lookup'; -import { _Lookup } from '../../src/components/Lookup/Lookup'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Lookup, { _Lookup } from './Lookup'; let mockData = [{ name: 'foo', id: 1, isChecked: false }]; const mockColumns = [ diff --git a/src/components/Lookup/index.js b/src/components/Lookup/index.js index 9fe24f31ed..5aeea8d028 100644 --- a/src/components/Lookup/index.js +++ b/src/components/Lookup/index.js @@ -1,3 +1 @@ -import Lookup from './Lookup'; - -export default Lookup; +export { default } from './Lookup'; diff --git a/src/components/NavExpandableGroup.jsx b/src/components/NavExpandableGroup/NavExpandableGroup.jsx similarity index 100% rename from src/components/NavExpandableGroup.jsx rename to src/components/NavExpandableGroup/NavExpandableGroup.jsx diff --git a/__tests__/components/NavExpandableGroup.test.jsx b/src/components/NavExpandableGroup/NavExpandableGroup.test.jsx similarity index 96% rename from __tests__/components/NavExpandableGroup.test.jsx rename to src/components/NavExpandableGroup/NavExpandableGroup.test.jsx index df803efea4..8c5e5aaf72 100644 --- a/__tests__/components/NavExpandableGroup.test.jsx +++ b/src/components/NavExpandableGroup/NavExpandableGroup.test.jsx @@ -3,7 +3,7 @@ import { MemoryRouter } from 'react-router-dom'; import { mount } from 'enzyme'; import { Nav } from '@patternfly/react-core'; -import NavExpandableGroup from '../../src/components/NavExpandableGroup'; +import NavExpandableGroup from './NavExpandableGroup'; describe('NavExpandableGroup', () => { test('initialization and render', () => { diff --git a/src/components/NavExpandableGroup/index.js b/src/components/NavExpandableGroup/index.js new file mode 100644 index 0000000000..be8070049a --- /dev/null +++ b/src/components/NavExpandableGroup/index.js @@ -0,0 +1 @@ +export { default } from './NavExpandableGroup'; diff --git a/__tests__/components/NotificationListItem.test.jsx b/src/components/NotificationsList/NotificationListItem.test.jsx similarity index 95% rename from __tests__/components/NotificationListItem.test.jsx rename to src/components/NotificationsList/NotificationListItem.test.jsx index d9df59c155..358d3e307f 100644 --- a/__tests__/components/NotificationListItem.test.jsx +++ b/src/components/NotificationsList/NotificationListItem.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import NotificationListItem from '../../src/components/NotificationsList/NotificationListItem'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import NotificationListItem from './NotificationListItem'; describe('', () => { let wrapper; diff --git a/__tests__/components/__snapshots__/NotificationListItem.test.jsx.snap b/src/components/NotificationsList/__snapshots__/NotificationListItem.test.jsx.snap similarity index 100% rename from __tests__/components/__snapshots__/NotificationListItem.test.jsx.snap rename to src/components/NotificationsList/__snapshots__/NotificationListItem.test.jsx.snap diff --git a/src/components/NotificationsList/index.js b/src/components/NotificationsList/index.js new file mode 100644 index 0000000000..ce4bb9cada --- /dev/null +++ b/src/components/NotificationsList/index.js @@ -0,0 +1 @@ +export { default } from './NotificationListItem'; diff --git a/src/components/PageHeaderToolbar.jsx b/src/components/PageHeaderToolbar/PageHeaderToolbar.jsx similarity index 100% rename from src/components/PageHeaderToolbar.jsx rename to src/components/PageHeaderToolbar/PageHeaderToolbar.jsx diff --git a/__tests__/components/PageHeaderToolbar.test.jsx b/src/components/PageHeaderToolbar/PageHeaderToolbar.test.jsx similarity index 92% rename from __tests__/components/PageHeaderToolbar.test.jsx rename to src/components/PageHeaderToolbar/PageHeaderToolbar.test.jsx index 903ffc90c3..7c151d3dc5 100644 --- a/__tests__/components/PageHeaderToolbar.test.jsx +++ b/src/components/PageHeaderToolbar/PageHeaderToolbar.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import PageHeaderToolbar from '../../src/components/PageHeaderToolbar'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import PageHeaderToolbar from './PageHeaderToolbar'; describe('PageHeaderToolbar', () => { const pageHelpDropdownSelector = 'Dropdown QuestionCircleIcon'; diff --git a/src/components/PageHeaderToolbar/index.js b/src/components/PageHeaderToolbar/index.js new file mode 100644 index 0000000000..debdb7da16 --- /dev/null +++ b/src/components/PageHeaderToolbar/index.js @@ -0,0 +1 @@ +export { default } from './PageHeaderToolbar'; diff --git a/__tests__/components/PaginatedDataList/PaginatedDataList.test.jsx b/src/components/PaginatedDataList/PaginatedDataList.test.jsx similarity index 95% rename from __tests__/components/PaginatedDataList/PaginatedDataList.test.jsx rename to src/components/PaginatedDataList/PaginatedDataList.test.jsx index f19380c229..3538148a3b 100644 --- a/__tests__/components/PaginatedDataList/PaginatedDataList.test.jsx +++ b/src/components/PaginatedDataList/PaginatedDataList.test.jsx @@ -1,8 +1,8 @@ import React from 'react'; import { createMemoryHistory } from 'history'; -import { mountWithContexts } from '../../enzymeHelpers'; -import { sleep } from '../../testUtils'; -import PaginatedDataList from '../../../src/components/PaginatedDataList'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import { sleep } from '../../../testUtils/testUtils'; +import PaginatedDataList from './PaginatedDataList'; const mockData = [ { id: 1, name: 'one', url: '/org/team/1' }, diff --git a/__tests__/components/PaginatedDataList/ToolbarAddButton.test.jsx b/src/components/PaginatedDataList/ToolbarAddButton.test.jsx similarity index 82% rename from __tests__/components/PaginatedDataList/ToolbarAddButton.test.jsx rename to src/components/PaginatedDataList/ToolbarAddButton.test.jsx index 9178584067..09e1a1d7d2 100644 --- a/__tests__/components/PaginatedDataList/ToolbarAddButton.test.jsx +++ b/src/components/PaginatedDataList/ToolbarAddButton.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../enzymeHelpers'; -import { ToolbarAddButton } from '../../../src/components/PaginatedDataList'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import ToolbarAddButton from './ToolbarAddButton'; describe('', () => { test('should render button', () => { diff --git a/__tests__/components/PaginatedDataList/DeleteToolbarButton.test.jsx b/src/components/PaginatedDataList/ToolbarDeleteButton.test.jsx similarity index 93% rename from __tests__/components/PaginatedDataList/DeleteToolbarButton.test.jsx rename to src/components/PaginatedDataList/ToolbarDeleteButton.test.jsx index 1a512de332..549d2778ad 100644 --- a/__tests__/components/PaginatedDataList/DeleteToolbarButton.test.jsx +++ b/src/components/PaginatedDataList/ToolbarDeleteButton.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../enzymeHelpers'; -import { ToolbarDeleteButton } from '../../../src/components/PaginatedDataList'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import ToolbarDeleteButton from './ToolbarDeleteButton'; const itemA = { id: 1, diff --git a/__tests__/components/PaginatedDataList/__snapshots__/DeleteToolbarButton.test.jsx.snap b/src/components/PaginatedDataList/__snapshots__/ToolbarDeleteButton.test.jsx.snap similarity index 100% rename from __tests__/components/PaginatedDataList/__snapshots__/DeleteToolbarButton.test.jsx.snap rename to src/components/PaginatedDataList/__snapshots__/ToolbarDeleteButton.test.jsx.snap diff --git a/src/components/PaginatedDataList/index.js b/src/components/PaginatedDataList/index.js index 3ec615603d..1a14967a71 100644 --- a/src/components/PaginatedDataList/index.js +++ b/src/components/PaginatedDataList/index.js @@ -1,6 +1,4 @@ -import PaginatedDataList from './PaginatedDataList'; - -export default PaginatedDataList; +export { default } from './PaginatedDataList'; export { default as PaginatedDataListItem } from './PaginatedDataListItem'; export { default as ToolbarDeleteButton } from './ToolbarDeleteButton'; export { default as ToolbarAddButton } from './ToolbarAddButton'; diff --git a/src/components/Pagination/Pagination.test.jsx b/src/components/Pagination/Pagination.test.jsx new file mode 100644 index 0000000000..beba9a917e --- /dev/null +++ b/src/components/Pagination/Pagination.test.jsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; + +import Pagination from './Pagination'; + +describe('Pagination', () => { + test('renders the expected content', () => { + const wrapper = mountWithContexts( + + ); + expect(wrapper).toHaveLength(1); + }); +}); diff --git a/src/components/Pagination/index.js b/src/components/Pagination/index.js index 9ed530b1f6..eaef04eb73 100644 --- a/src/components/Pagination/index.js +++ b/src/components/Pagination/index.js @@ -1,3 +1 @@ -import Pagination from './Pagination'; - -export default Pagination; +export { default } from './Pagination'; diff --git a/src/components/Tabs/RoutedTabs.jsx b/src/components/RoutedTabs/RoutedTabs.jsx similarity index 100% rename from src/components/Tabs/RoutedTabs.jsx rename to src/components/RoutedTabs/RoutedTabs.jsx diff --git a/__tests__/components/RoutedTabs.test.jsx b/src/components/RoutedTabs/RoutedTabs.test.jsx similarity index 94% rename from __tests__/components/RoutedTabs.test.jsx rename to src/components/RoutedTabs/RoutedTabs.test.jsx index 58c92ffa98..74be384a2d 100644 --- a/__tests__/components/RoutedTabs.test.jsx +++ b/src/components/RoutedTabs/RoutedTabs.test.jsx @@ -1,9 +1,10 @@ +/* eslint-disable react/jsx-pascal-case */ import React from 'react'; import { mount, shallow } from 'enzyme'; import { Router } from 'react-router-dom'; import { createMemoryHistory } from 'history'; import { Tab } from '@patternfly/react-core'; -import RoutedTabs, { _RoutedTabs } from '../../src/components/Tabs/RoutedTabs'; +import RoutedTabs, { _RoutedTabs } from './RoutedTabs'; let wrapper; let history; diff --git a/src/components/RoutedTabs/index.js b/src/components/RoutedTabs/index.js new file mode 100644 index 0000000000..ea55b9e205 --- /dev/null +++ b/src/components/RoutedTabs/index.js @@ -0,0 +1 @@ +export { default } from './RoutedTabs'; diff --git a/__tests__/components/Search.test.jsx b/src/components/Search/Search.test.jsx similarity index 95% rename from __tests__/components/Search.test.jsx rename to src/components/Search/Search.test.jsx index 84588a62d4..a2e58dce2f 100644 --- a/__tests__/components/Search.test.jsx +++ b/src/components/Search/Search.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Search from '../../src/components/Search'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Search from './Search'; describe('', () => { let search; diff --git a/src/components/Search/index.js b/src/components/Search/index.js index 517d0ee89b..85bb434b22 100644 --- a/src/components/Search/index.js +++ b/src/components/Search/index.js @@ -1,3 +1 @@ -import Search from './Search'; - -export default Search; +export { default } from './Search'; diff --git a/__tests__/components/SelectedList.test.jsx b/src/components/SelectedList/SelectedList.test.jsx similarity index 90% rename from __tests__/components/SelectedList.test.jsx rename to src/components/SelectedList/SelectedList.test.jsx index 861a0e052f..41d5444a5c 100644 --- a/__tests__/components/SelectedList.test.jsx +++ b/src/components/SelectedList/SelectedList.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme'; -import SelectedList from '../../src/components/SelectedList'; -import { ChipGroup } from '../../src/components/Chip'; +import { ChipGroup } from '../Chip'; +import SelectedList from './SelectedList'; describe('', () => { test('initially renders succesfully', () => { @@ -16,7 +16,7 @@ describe('', () => { ]; mount( {}} diff --git a/src/components/SelectedList/index.js b/src/components/SelectedList/index.js index 00a1ae10be..678bdcc62c 100644 --- a/src/components/SelectedList/index.js +++ b/src/components/SelectedList/index.js @@ -1,3 +1 @@ -import SelectedList from './SelectedList'; - -export default SelectedList; +export { default } from './SelectedList'; diff --git a/__tests__/components/Sort.test.jsx b/src/components/Sort/Sort.test.jsx similarity index 98% rename from __tests__/components/Sort.test.jsx rename to src/components/Sort/Sort.test.jsx index b98f1854a9..8cf5ae07f1 100644 --- a/__tests__/components/Sort.test.jsx +++ b/src/components/Sort/Sort.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Sort from '../../src/components/Sort'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Sort from './Sort'; describe('', () => { let sort; diff --git a/src/components/Sort/index.js b/src/components/Sort/index.js index 9b59741625..5be656053a 100644 --- a/src/components/Sort/index.js +++ b/src/components/Sort/index.js @@ -1,3 +1 @@ -import Sort from './Sort'; - -export default Sort; +export { default } from './Sort'; diff --git a/__tests__/components/VerticalSeparator.test.jsx b/src/components/VerticalSeparator/VerticalSeparator.test.jsx similarity index 77% rename from __tests__/components/VerticalSeparator.test.jsx rename to src/components/VerticalSeparator/VerticalSeparator.test.jsx index 158ad9a09d..3de7ae1e3e 100644 --- a/__tests__/components/VerticalSeparator.test.jsx +++ b/src/components/VerticalSeparator/VerticalSeparator.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme'; -import VerticalSeparator from '../../src/components/VerticalSeparator'; +import VerticalSeparator from './VerticalSeparator'; describe('VerticalSeparator', () => { test('renders the expected content', () => { diff --git a/src/components/VerticalSeparator/index.js b/src/components/VerticalSeparator/index.js index 737c49a099..73c51cd580 100644 --- a/src/components/VerticalSeparator/index.js +++ b/src/components/VerticalSeparator/index.js @@ -1,3 +1 @@ -import VerticalSeparator from './VerticalSeparator'; - -export default VerticalSeparator; +export { default } from './VerticalSeparator'; diff --git a/src/index.jsx b/src/index.jsx index 066faa9b8a..f3976ce998 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -20,29 +20,29 @@ import App from './App'; import { BrandName } from './variables'; import { isAuthenticated } from './util/auth'; -import Applications from './pages/Applications'; -import Credentials from './pages/Credentials'; -import CredentialTypes from './pages/CredentialTypes'; -import Dashboard from './pages/Dashboard'; -import InstanceGroups from './pages/InstanceGroups'; -import Inventories from './pages/Inventories'; -import InventoryScripts from './pages/InventoryScripts'; -import Jobs from './pages/Jobs'; -import Login from './pages/Login'; -import ManagementJobs from './pages/ManagementJobs'; -import NotificationTemplates from './pages/NotificationTemplates'; -import Organizations from './pages/Organizations/Organizations'; -import Portal from './pages/Portal'; -import Projects from './pages/Projects'; -import Schedules from './pages/Schedules'; -import AuthSettings from './pages/AuthSettings'; -import JobsSettings from './pages/JobsSettings'; -import SystemSettings from './pages/SystemSettings'; -import UISettings from './pages/UISettings'; -import License from './pages/License'; -import Teams from './pages/Teams'; -import Templates from './pages/Templates/Templates'; -import Users from './pages/Users'; +import Applications from './screens/Application'; +import Credentials from './screens/Credential'; +import CredentialTypes from './screens/CredentialType'; +import Dashboard from './screens/Dashboard'; +import InstanceGroups from './screens/InstanceGroup'; +import Inventories from './screens/Inventory'; +import InventoryScripts from './screens/InventoryScript'; +import { Jobs } from './screens/Job'; +import Login from './screens/Login'; +import ManagementJobs from './screens/ManagementJob'; +import NotificationTemplates from './screens/NotificationTemplate'; +import Organizations from './screens/Organization'; +import Portal from './screens/Portal'; +import Projects from './screens/Project'; +import Schedules from './screens/Schedule'; +import AuthSettings from './screens/AuthSetting'; +import JobsSettings from './screens/JobsSetting'; +import SystemSettings from './screens/SystemSetting'; +import UISettings from './screens/UISetting'; +import License from './screens/License'; +import Teams from './screens/Team'; +import Templates from './screens/Template'; +import Users from './screens/User'; // eslint-disable-next-line import/prefer-default-export export function main (render) { diff --git a/__tests__/index.test.jsx b/src/index.test.jsx similarity index 91% rename from __tests__/index.test.jsx rename to src/index.test.jsx index cf8f051938..99f764cd32 100644 --- a/__tests__/index.test.jsx +++ b/src/index.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { mount } from 'enzyme'; import { MemoryRouter } from 'react-router-dom'; -import { main } from '../src/index'; +import { main } from './index'; const render = template => mount( diff --git a/src/pages/Jobs/JobDetail/index.js b/src/pages/Jobs/JobDetail/index.js deleted file mode 100644 index a13fb1cebc..0000000000 --- a/src/pages/Jobs/JobDetail/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import JobDetail from './JobDetail'; - -export default JobDetail; - diff --git a/src/pages/Jobs/JobOutput/index.js b/src/pages/Jobs/JobOutput/index.js deleted file mode 100644 index 8d482ce336..0000000000 --- a/src/pages/Jobs/JobOutput/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import JobOutput from './JobOutput'; - -export default JobOutput; - diff --git a/src/pages/Jobs/index.js b/src/pages/Jobs/index.js deleted file mode 100644 index 7a03fd5819..0000000000 --- a/src/pages/Jobs/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { default as Job } from './Job'; -export { default } from './Jobs'; diff --git a/src/pages/Applications.jsx b/src/screens/Application/Applications.jsx similarity index 100% rename from src/pages/Applications.jsx rename to src/screens/Application/Applications.jsx diff --git a/__tests__/pages/Applications.test.jsx b/src/screens/Application/Applications.test.jsx similarity index 85% rename from __tests__/pages/Applications.test.jsx rename to src/screens/Application/Applications.test.jsx index a8afd7cd43..aae3890717 100644 --- a/__tests__/pages/Applications.test.jsx +++ b/src/screens/Application/Applications.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Applications from '../../src/pages/Applications'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Applications from './Applications'; describe('', () => { let pageWrapper; diff --git a/src/screens/Application/index.js b/src/screens/Application/index.js new file mode 100644 index 0000000000..a4829065cf --- /dev/null +++ b/src/screens/Application/index.js @@ -0,0 +1 @@ +export { default } from './Applications'; diff --git a/src/pages/AuthSettings.jsx b/src/screens/AuthSetting/AuthSettings.jsx similarity index 100% rename from src/pages/AuthSettings.jsx rename to src/screens/AuthSetting/AuthSettings.jsx diff --git a/__tests__/pages/AuthSettings.test.jsx b/src/screens/AuthSetting/AuthSettings.test.jsx similarity index 85% rename from __tests__/pages/AuthSettings.test.jsx rename to src/screens/AuthSetting/AuthSettings.test.jsx index 18cc15903c..f19ac23575 100644 --- a/__tests__/pages/AuthSettings.test.jsx +++ b/src/screens/AuthSetting/AuthSettings.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import AuthSettings from '../../src/pages/AuthSettings'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import AuthSettings from './AuthSettings'; describe('', () => { let pageWrapper; diff --git a/src/screens/AuthSetting/index.js b/src/screens/AuthSetting/index.js new file mode 100644 index 0000000000..880b6544c0 --- /dev/null +++ b/src/screens/AuthSetting/index.js @@ -0,0 +1 @@ +export { default } from './AuthSettings'; diff --git a/src/pages/Credentials.jsx b/src/screens/Credential/Credentials.jsx similarity index 100% rename from src/pages/Credentials.jsx rename to src/screens/Credential/Credentials.jsx diff --git a/__tests__/pages/Credentials.test.jsx b/src/screens/Credential/Credentials.test.jsx similarity index 85% rename from __tests__/pages/Credentials.test.jsx rename to src/screens/Credential/Credentials.test.jsx index 7f4f66022e..73c4dfc588 100644 --- a/__tests__/pages/Credentials.test.jsx +++ b/src/screens/Credential/Credentials.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Credentials from '../../src/pages/Credentials'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Credentials from './Credentials'; describe('', () => { let pageWrapper; diff --git a/src/screens/Credential/index.js b/src/screens/Credential/index.js new file mode 100644 index 0000000000..618d2eaf9c --- /dev/null +++ b/src/screens/Credential/index.js @@ -0,0 +1 @@ +export { default } from './Credentials'; diff --git a/src/pages/CredentialTypes.jsx b/src/screens/CredentialType/CredentialTypes.jsx similarity index 100% rename from src/pages/CredentialTypes.jsx rename to src/screens/CredentialType/CredentialTypes.jsx diff --git a/__tests__/pages/CredentialTypes.test.jsx b/src/screens/CredentialType/CredentialTypes.test.jsx similarity index 84% rename from __tests__/pages/CredentialTypes.test.jsx rename to src/screens/CredentialType/CredentialTypes.test.jsx index 7b233aeaeb..9fc3eaeb19 100644 --- a/__tests__/pages/CredentialTypes.test.jsx +++ b/src/screens/CredentialType/CredentialTypes.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import CredentialTypes from '../../src/pages/CredentialTypes'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import CredentialTypes from './CredentialTypes'; describe('', () => { let pageWrapper; diff --git a/src/screens/CredentialType/index.js b/src/screens/CredentialType/index.js new file mode 100644 index 0000000000..e58eca46f6 --- /dev/null +++ b/src/screens/CredentialType/index.js @@ -0,0 +1 @@ +export { default } from './CredentialTypes'; diff --git a/src/pages/Dashboard.jsx b/src/screens/Dashboard/Dashboard.jsx similarity index 100% rename from src/pages/Dashboard.jsx rename to src/screens/Dashboard/Dashboard.jsx diff --git a/__tests__/pages/Dashboard.test.jsx b/src/screens/Dashboard/Dashboard.test.jsx similarity index 86% rename from __tests__/pages/Dashboard.test.jsx rename to src/screens/Dashboard/Dashboard.test.jsx index 43ff67f5f4..b11c727cf5 100644 --- a/__tests__/pages/Dashboard.test.jsx +++ b/src/screens/Dashboard/Dashboard.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Dashboard from '../../src/pages/Dashboard'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Dashboard from './Dashboard'; describe('', () => { let pageWrapper; diff --git a/src/screens/Dashboard/index.js b/src/screens/Dashboard/index.js new file mode 100644 index 0000000000..449ae5672d --- /dev/null +++ b/src/screens/Dashboard/index.js @@ -0,0 +1 @@ +export { default } from './Dashboard'; diff --git a/src/pages/InstanceGroups.jsx b/src/screens/InstanceGroup/InstanceGroups.jsx similarity index 100% rename from src/pages/InstanceGroups.jsx rename to src/screens/InstanceGroup/InstanceGroups.jsx diff --git a/__tests__/pages/InstanceGroups.test.jsx b/src/screens/InstanceGroup/InstanceGroups.test.jsx similarity index 85% rename from __tests__/pages/InstanceGroups.test.jsx rename to src/screens/InstanceGroup/InstanceGroups.test.jsx index 7cfbdf5397..a66a63aaa9 100644 --- a/__tests__/pages/InstanceGroups.test.jsx +++ b/src/screens/InstanceGroup/InstanceGroups.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import InstanceGroups from '../../src/pages/InstanceGroups'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import InstanceGroups from './InstanceGroups'; describe('', () => { let pageWrapper; diff --git a/src/screens/InstanceGroup/index.js b/src/screens/InstanceGroup/index.js new file mode 100644 index 0000000000..92673c5c20 --- /dev/null +++ b/src/screens/InstanceGroup/index.js @@ -0,0 +1 @@ +export { default } from './InstanceGroups'; diff --git a/src/pages/Inventories.jsx b/src/screens/Inventory/Inventories.jsx similarity index 100% rename from src/pages/Inventories.jsx rename to src/screens/Inventory/Inventories.jsx diff --git a/__tests__/pages/Inventories.test.jsx b/src/screens/Inventory/Inventories.test.jsx similarity index 85% rename from __tests__/pages/Inventories.test.jsx rename to src/screens/Inventory/Inventories.test.jsx index 8c98c52486..1e41d3b70f 100644 --- a/__tests__/pages/Inventories.test.jsx +++ b/src/screens/Inventory/Inventories.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Inventories from '../../src/pages/Inventories'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Inventories from './Inventories'; describe('', () => { let pageWrapper; diff --git a/src/screens/Inventory/index.js b/src/screens/Inventory/index.js new file mode 100644 index 0000000000..cb56861113 --- /dev/null +++ b/src/screens/Inventory/index.js @@ -0,0 +1 @@ +export { default } from './Inventories'; diff --git a/src/pages/InventoryScripts.jsx b/src/screens/InventoryScript/InventoryScripts.jsx similarity index 100% rename from src/pages/InventoryScripts.jsx rename to src/screens/InventoryScript/InventoryScripts.jsx diff --git a/__tests__/pages/InventoryScripts.test.jsx b/src/screens/InventoryScript/InventoryScripts.test.jsx similarity index 84% rename from __tests__/pages/InventoryScripts.test.jsx rename to src/screens/InventoryScript/InventoryScripts.test.jsx index e7f3e94687..33c05957e0 100644 --- a/__tests__/pages/InventoryScripts.test.jsx +++ b/src/screens/InventoryScript/InventoryScripts.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import InventoryScripts from '../../src/pages/InventoryScripts'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import InventoryScripts from './InventoryScripts'; describe('', () => { let pageWrapper; diff --git a/src/screens/InventoryScript/index.js b/src/screens/InventoryScript/index.js new file mode 100644 index 0000000000..9effeb748e --- /dev/null +++ b/src/screens/InventoryScript/index.js @@ -0,0 +1 @@ +export { default } from './InventoryScripts'; diff --git a/src/pages/Jobs/Job.jsx b/src/screens/Job/Job.jsx similarity index 98% rename from src/pages/Jobs/Job.jsx rename to src/screens/Job/Job.jsx index 69c093fe6e..a902112afe 100644 --- a/src/pages/Jobs/Job.jsx +++ b/src/screens/Job/Job.jsx @@ -7,7 +7,7 @@ import { Card, CardHeader as PFCardHeader, PageSection } from '@patternfly/react import { JobsAPI } from '../../api'; import ContentError from '../../components/ContentError'; import CardCloseButton from '../../components/CardCloseButton'; -import RoutedTabs from '../../components/Tabs/RoutedTabs'; +import RoutedTabs from '../../components/RoutedTabs'; import JobDetail from './JobDetail'; import JobOutput from './JobOutput'; diff --git a/__tests__/pages/Jobs/screens/Job/Job.test.jsx b/src/screens/Job/Job.test.jsx similarity index 55% rename from __tests__/pages/Jobs/screens/Job/Job.test.jsx rename to src/screens/Job/Job.test.jsx index 780fe26ad9..d0499cb803 100644 --- a/__tests__/pages/Jobs/screens/Job/Job.test.jsx +++ b/src/screens/Job/Job.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../../../enzymeHelpers'; -import { Job } from '../../../../../src/pages/Jobs'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Job from './Jobs'; describe('', () => { test('initially renders succesfully', () => { diff --git a/src/pages/Jobs/JobDetail/JobDetail.jsx b/src/screens/Job/JobDetail/JobDetail.jsx similarity index 100% rename from src/pages/Jobs/JobDetail/JobDetail.jsx rename to src/screens/Job/JobDetail/JobDetail.jsx diff --git a/__tests__/pages/Jobs/screens/Job/JobDetail.test.jsx b/src/screens/Job/JobDetail/JobDetail.test.jsx similarity index 78% rename from __tests__/pages/Jobs/screens/Job/JobDetail.test.jsx rename to src/screens/Job/JobDetail/JobDetail.test.jsx index 6f5e76e71f..d83d6475c8 100644 --- a/__tests__/pages/Jobs/screens/Job/JobDetail.test.jsx +++ b/src/screens/Job/JobDetail/JobDetail.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../../../enzymeHelpers'; -import JobDetail from '../../../../../src/pages/Jobs/JobDetail'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import JobDetail from './JobDetail'; describe('', () => { const mockDetails = { diff --git a/src/screens/Job/JobDetail/index.js b/src/screens/Job/JobDetail/index.js new file mode 100644 index 0000000000..daa4c97fa7 --- /dev/null +++ b/src/screens/Job/JobDetail/index.js @@ -0,0 +1 @@ +export { default } from './JobDetail'; diff --git a/src/pages/Jobs/JobOutput/JobOutput.jsx b/src/screens/Job/JobOutput/JobOutput.jsx similarity index 100% rename from src/pages/Jobs/JobOutput/JobOutput.jsx rename to src/screens/Job/JobOutput/JobOutput.jsx diff --git a/__tests__/pages/Jobs/screens/Job/JobOutput.test.jsx b/src/screens/Job/JobOutput/JobOutput.test.jsx similarity index 64% rename from __tests__/pages/Jobs/screens/Job/JobOutput.test.jsx rename to src/screens/Job/JobOutput/JobOutput.test.jsx index e92fa37fc7..f481696a95 100644 --- a/__tests__/pages/Jobs/screens/Job/JobOutput.test.jsx +++ b/src/screens/Job/JobOutput/JobOutput.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../../../enzymeHelpers'; -import JobOutput from '../../../../../src/pages/Jobs/JobOutput'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import JobOutput from './JobOutput'; describe('', () => { const mockDetails = { diff --git a/src/screens/Job/JobOutput/index.js b/src/screens/Job/JobOutput/index.js new file mode 100644 index 0000000000..816ea6c6a9 --- /dev/null +++ b/src/screens/Job/JobOutput/index.js @@ -0,0 +1,2 @@ +export { default } from './JobOutput'; + diff --git a/src/pages/Jobs/Jobs.jsx b/src/screens/Job/Jobs.jsx similarity index 100% rename from src/pages/Jobs/Jobs.jsx rename to src/screens/Job/Jobs.jsx diff --git a/__tests__/pages/Jobs/Jobs.test.jsx b/src/screens/Job/Jobs.test.jsx similarity index 88% rename from __tests__/pages/Jobs/Jobs.test.jsx rename to src/screens/Job/Jobs.test.jsx index 8e25ce6220..3d7440b175 100644 --- a/__tests__/pages/Jobs/Jobs.test.jsx +++ b/src/screens/Job/Jobs.test.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { createMemoryHistory } from 'history'; -import { mountWithContexts } from '../../enzymeHelpers'; -import Jobs from '../../../src/pages/Jobs'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Jobs from './Jobs'; describe('', () => { test('initially renders succesfully', () => { diff --git a/src/screens/Job/index.js b/src/screens/Job/index.js new file mode 100644 index 0000000000..16710ff4fa --- /dev/null +++ b/src/screens/Job/index.js @@ -0,0 +1,2 @@ +export { default as Job } from './Job'; +export { default as Jobs } from './Jobs'; diff --git a/src/pages/JobsSettings.jsx b/src/screens/JobsSetting/JobsSettings.jsx similarity index 100% rename from src/pages/JobsSettings.jsx rename to src/screens/JobsSetting/JobsSettings.jsx diff --git a/__tests__/pages/JobsSettings.test.jsx b/src/screens/JobsSetting/JobsSettings.test.jsx similarity index 85% rename from __tests__/pages/JobsSettings.test.jsx rename to src/screens/JobsSetting/JobsSettings.test.jsx index af36ebb3a7..a7c86188fc 100644 --- a/__tests__/pages/JobsSettings.test.jsx +++ b/src/screens/JobsSetting/JobsSettings.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import JobsSettings from '../../src/pages/JobsSettings'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import JobsSettings from './JobsSettings'; describe('', () => { let pageWrapper; diff --git a/src/screens/JobsSetting/index.js b/src/screens/JobsSetting/index.js new file mode 100644 index 0000000000..376300927a --- /dev/null +++ b/src/screens/JobsSetting/index.js @@ -0,0 +1 @@ +export { default } from './JobsSettings'; diff --git a/src/pages/License.jsx b/src/screens/License/License.jsx similarity index 100% rename from src/pages/License.jsx rename to src/screens/License/License.jsx diff --git a/__tests__/pages/License.test.jsx b/src/screens/License/License.test.jsx similarity index 86% rename from __tests__/pages/License.test.jsx rename to src/screens/License/License.test.jsx index 7a614c0410..176571d073 100644 --- a/__tests__/pages/License.test.jsx +++ b/src/screens/License/License.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import License from '../../src/pages/License'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import License from './License'; describe('', () => { let pageWrapper; diff --git a/src/screens/License/index.js b/src/screens/License/index.js new file mode 100644 index 0000000000..1bf99773e6 --- /dev/null +++ b/src/screens/License/index.js @@ -0,0 +1 @@ +export { default } from './License'; diff --git a/src/pages/Login.jsx b/src/screens/Login/Login.jsx similarity index 96% rename from src/pages/Login.jsx rename to src/screens/Login/Login.jsx index 0bc6888514..f6a4843846 100644 --- a/src/pages/Login.jsx +++ b/src/screens/Login/Login.jsx @@ -7,10 +7,10 @@ import { LoginForm, LoginPage as PFLoginPage, } from '@patternfly/react-core'; -import { RootAPI } from '../api'; -import { BrandName } from '../variables'; +import { RootAPI } from '../../api'; +import { BrandName } from '../../variables'; -import brandLogo from '../../images/brand-logo.svg'; +import brandLogo from '../../../images/brand-logo.svg'; const LoginPage = styled(PFLoginPage)` & .pf-c-brand { diff --git a/__tests__/pages/Login.test.jsx b/src/screens/Login/Login.test.jsx similarity index 97% rename from __tests__/pages/Login.test.jsx rename to src/screens/Login/Login.test.jsx index 8edbf7a318..8bc25986bd 100644 --- a/__tests__/pages/Login.test.jsx +++ b/src/screens/Login/Login.test.jsx @@ -1,9 +1,9 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../enzymeHelpers'; -import AWXLogin from '../../src/pages/Login'; -import { RootAPI } from '../../src/api'; +import { mountWithContexts, waitForElement } from '../../../testUtils/enzymeHelpers'; +import AWXLogin from './Login'; +import { RootAPI } from '../../api'; -jest.mock('../../src/api'); +jest.mock('../../api'); describe('', () => { async function findChildren (wrapper) { diff --git a/src/screens/Login/index.js b/src/screens/Login/index.js new file mode 100644 index 0000000000..2a741cdbd2 --- /dev/null +++ b/src/screens/Login/index.js @@ -0,0 +1 @@ +export { default } from './Login'; diff --git a/src/pages/ManagementJobs.jsx b/src/screens/ManagementJob/ManagementJobs.jsx similarity index 100% rename from src/pages/ManagementJobs.jsx rename to src/screens/ManagementJob/ManagementJobs.jsx diff --git a/__tests__/pages/ManagementJobs.test.jsx b/src/screens/ManagementJob/ManagementJobs.test.jsx similarity index 85% rename from __tests__/pages/ManagementJobs.test.jsx rename to src/screens/ManagementJob/ManagementJobs.test.jsx index b2f2dbdc61..5e1962dda4 100644 --- a/__tests__/pages/ManagementJobs.test.jsx +++ b/src/screens/ManagementJob/ManagementJobs.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import ManagementJobs from '../../src/pages/ManagementJobs'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import ManagementJobs from './ManagementJobs'; describe('', () => { let pageWrapper; diff --git a/src/screens/ManagementJob/index.js b/src/screens/ManagementJob/index.js new file mode 100644 index 0000000000..0f2749824a --- /dev/null +++ b/src/screens/ManagementJob/index.js @@ -0,0 +1 @@ +export { default } from './ManagementJobs'; diff --git a/__tests__/pages/NotifcationTemplates.test.jsx b/src/screens/NotificationTemplate/NotifcationTemplates.test.jsx similarity index 83% rename from __tests__/pages/NotifcationTemplates.test.jsx rename to src/screens/NotificationTemplate/NotifcationTemplates.test.jsx index 9039d5475f..de4a4d494f 100644 --- a/__tests__/pages/NotifcationTemplates.test.jsx +++ b/src/screens/NotificationTemplate/NotifcationTemplates.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import NotificationTemplates from '../../src/pages/NotificationTemplates'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import NotificationTemplates from './NotificationTemplates'; describe('', () => { let pageWrapper; diff --git a/src/pages/NotificationTemplates.jsx b/src/screens/NotificationTemplate/NotificationTemplates.jsx similarity index 100% rename from src/pages/NotificationTemplates.jsx rename to src/screens/NotificationTemplate/NotificationTemplates.jsx diff --git a/src/screens/NotificationTemplate/index.js b/src/screens/NotificationTemplate/index.js new file mode 100644 index 0000000000..e7f43328a8 --- /dev/null +++ b/src/screens/NotificationTemplate/index.js @@ -0,0 +1 @@ +export { default } from './NotificationTemplates'; diff --git a/src/pages/Organizations/screens/Organization/Organization.jsx b/src/screens/Organization/Organization.jsx similarity index 95% rename from src/pages/Organizations/screens/Organization/Organization.jsx rename to src/screens/Organization/Organization.jsx index 1e0a1a7bc3..713a709da0 100644 --- a/src/pages/Organizations/screens/Organization/Organization.jsx +++ b/src/screens/Organization/Organization.jsx @@ -4,15 +4,16 @@ import { t } from '@lingui/macro'; import { Switch, Route, withRouter, Redirect } from 'react-router-dom'; import { Card, CardHeader as PFCardHeader, PageSection } from '@patternfly/react-core'; import styled from 'styled-components'; -import CardCloseButton from '../../../../components/CardCloseButton'; -import ContentError from '../../../../components/ContentError'; -import OrganizationAccess from './OrganizationAccess'; +import CardCloseButton from '../../components/CardCloseButton'; +import ContentError from '../../components/ContentError'; +import RoutedTabs from '../../components/RoutedTabs'; +import { OrganizationAccess } from './OrganizationAccess'; import OrganizationDetail from './OrganizationDetail'; import OrganizationEdit from './OrganizationEdit'; import OrganizationNotifications from './OrganizationNotifications'; import OrganizationTeams from './OrganizationTeams'; -import RoutedTabs from '../../../../components/Tabs/RoutedTabs'; -import { OrganizationsAPI } from '../../../../api'; + +import { OrganizationsAPI } from '../../api'; class Organization extends Component { constructor (props) { diff --git a/__tests__/pages/Organizations/screens/Organization/Organization.test.jsx b/src/screens/Organization/Organization.test.jsx similarity index 95% rename from __tests__/pages/Organizations/screens/Organization/Organization.test.jsx rename to src/screens/Organization/Organization.test.jsx index 43116b80a0..d9dd241c51 100644 --- a/__tests__/pages/Organizations/screens/Organization/Organization.test.jsx +++ b/src/screens/Organization/Organization.test.jsx @@ -1,9 +1,9 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../../enzymeHelpers'; -import Organization from '../../../../../src/pages/Organizations/screens/Organization/Organization'; -import { OrganizationsAPI } from '../../../../../src/api'; +import { mountWithContexts, waitForElement } from '../../../testUtils/enzymeHelpers'; +import Organization from './Organization'; +import { OrganizationsAPI } from '../../api'; -jest.mock('../../../../../src/api'); +jest.mock('../../api'); const mockMe = { is_super_user: true, diff --git a/src/pages/Organizations/components/DeleteRoleConfirmationModal.jsx b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx similarity index 100% rename from src/pages/Organizations/components/DeleteRoleConfirmationModal.jsx rename to src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.jsx diff --git a/__tests__/pages/Organizations/components/DeleteRoleConfirmationModal.test.jsx b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx similarity index 75% rename from __tests__/pages/Organizations/components/DeleteRoleConfirmationModal.test.jsx rename to src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx index e6231e13fe..d774546af6 100644 --- a/__tests__/pages/Organizations/components/DeleteRoleConfirmationModal.test.jsx +++ b/src/screens/Organization/OrganizationAccess/DeleteRoleConfirmationModal.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../../enzymeHelpers'; -import DeleteRoleConfirmationModal from '../../../../src/pages/Organizations/components/DeleteRoleConfirmationModal'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal'; const role = { id: 3, diff --git a/src/pages/Organizations/screens/Organization/OrganizationAccess.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx similarity index 90% rename from src/pages/Organizations/screens/Organization/OrganizationAccess.jsx rename to src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx index f26e9c0b2b..ef740203c3 100644 --- a/src/pages/Organizations/screens/Organization/OrganizationAccess.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccess.jsx @@ -2,19 +2,19 @@ import React, { Fragment } from 'react'; import { withRouter } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; -import AlertModal from '../../../../components/AlertModal'; -import PaginatedDataList, { ToolbarAddButton } from '../../../../components/PaginatedDataList'; -import DataListToolbar from '../../../../components/DataListToolbar'; -import OrganizationAccessItem from '../../components/OrganizationAccessItem'; -import DeleteRoleConfirmationModal from '../../components/DeleteRoleConfirmationModal'; -import AddResourceRole from '../../../../components/AddRole/AddResourceRole'; +import AlertModal from '../../../components/AlertModal'; +import PaginatedDataList, { ToolbarAddButton } from '../../../components/PaginatedDataList'; +import DataListToolbar from '../../../components/DataListToolbar'; +import OrganizationAccessItem from './OrganizationAccessItem'; +import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal'; +import AddResourceRole from '../../../components/AddRole/AddResourceRole'; import { getQSConfig, encodeQueryString, parseNamespacedQueryString -} from '../../../../util/qs'; -import { Organization } from '../../../../types'; -import { OrganizationsAPI, TeamsAPI, UsersAPI } from '../../../../api'; +} from '../../../util/qs'; +import { Organization } from '../../../types'; +import { OrganizationsAPI, TeamsAPI, UsersAPI } from '../../../api'; const QS_CONFIG = getQSConfig('access', { page: 1, diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationAccess.test.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx similarity index 93% rename from __tests__/pages/Organizations/screens/Organization/OrganizationAccess.test.jsx rename to src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx index ae7ce91ae3..75ecddbabc 100644 --- a/__tests__/pages/Organizations/screens/Organization/OrganizationAccess.test.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccess.test.jsx @@ -1,10 +1,10 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../../enzymeHelpers'; -import OrganizationAccess from '../../../../../src/pages/Organizations/screens/Organization/OrganizationAccess'; -import { sleep } from '../../../../testUtils'; -import { OrganizationsAPI, TeamsAPI, UsersAPI } from '../../../../../src/api'; +import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; +import OrganizationAccess from './OrganizationAccess'; +import { sleep } from '../../../../testUtils/testUtils'; +import { OrganizationsAPI, TeamsAPI, UsersAPI } from '../../../api'; -jest.mock('../../../../../src/api'); +jest.mock('../../../api'); describe('', () => { const organization = { diff --git a/src/pages/Organizations/components/OrganizationAccessItem.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx similarity index 100% rename from src/pages/Organizations/components/OrganizationAccessItem.jsx rename to src/screens/Organization/OrganizationAccess/OrganizationAccessItem.jsx diff --git a/__tests__/pages/Organizations/components/OrganizationAccessItem.test.jsx b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx similarity index 82% rename from __tests__/pages/Organizations/components/OrganizationAccessItem.test.jsx rename to src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx index f3e9031f6b..d6516a3583 100644 --- a/__tests__/pages/Organizations/components/OrganizationAccessItem.test.jsx +++ b/src/screens/Organization/OrganizationAccess/OrganizationAccessItem.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../../enzymeHelpers'; -import OrganizationAccessItem from '../../../../src/pages/Organizations/components/OrganizationAccessItem'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import OrganizationAccessItem from './OrganizationAccessItem'; const accessRecord = { id: 2, diff --git a/__tests__/pages/Organizations/components/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap b/src/screens/Organization/OrganizationAccess/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap similarity index 100% rename from __tests__/pages/Organizations/components/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap rename to src/screens/Organization/OrganizationAccess/__snapshots__/DeleteRoleConfirmationModal.test.jsx.snap diff --git a/__tests__/pages/Organizations/screens/Organization/__snapshots__/OrganizationAccess.test.jsx.snap b/src/screens/Organization/OrganizationAccess/__snapshots__/OrganizationAccess.test.jsx.snap similarity index 100% rename from __tests__/pages/Organizations/screens/Organization/__snapshots__/OrganizationAccess.test.jsx.snap rename to src/screens/Organization/OrganizationAccess/__snapshots__/OrganizationAccess.test.jsx.snap diff --git a/__tests__/pages/Organizations/components/__snapshots__/OrganizationAccessItem.test.jsx.snap b/src/screens/Organization/OrganizationAccess/__snapshots__/OrganizationAccessItem.test.jsx.snap similarity index 99% rename from __tests__/pages/Organizations/components/__snapshots__/OrganizationAccessItem.test.jsx.snap rename to src/screens/Organization/OrganizationAccess/__snapshots__/OrganizationAccessItem.test.jsx.snap index 9f7d483a8c..996cbf29fe 100644 --- a/__tests__/pages/Organizations/components/__snapshots__/OrganizationAccessItem.test.jsx.snap +++ b/src/screens/Organization/OrganizationAccess/__snapshots__/OrganizationAccessItem.test.jsx.snap @@ -190,9 +190,9 @@ exports[` initially renders succesfully 1`] = ` "$$typeof": Symbol(react.forward_ref), "attrs": Array [], "componentStyle": ComponentStyle { - "componentId": "OrganizationAccessItem__DataListItemCells-sc-1yema4k-0", + "componentId": "OrganizationAccessItem__DataListItemCells-sc-1b9e0ad-0", "isStatic": true, - "lastClassName": "OJmEc", + "lastClassName": "QeteT", "rules": Array [ "align-items:start;", ], @@ -200,7 +200,7 @@ exports[` initially renders succesfully 1`] = ` "displayName": "OrganizationAccessItem__DataListItemCells", "foldedComponentIds": Array [], "render": [Function], - "styledComponentId": "OrganizationAccessItem__DataListItemCells-sc-1yema4k-0", + "styledComponentId": "OrganizationAccessItem__DataListItemCells-sc-1b9e0ad-0", "target": [Function], "toString": [Function], "warnTooManyClasses": [Function], @@ -211,7 +211,7 @@ exports[` initially renders succesfully 1`] = ` rowid="access-list-item" > initially renders succesfully 1`] = ` rowid="access-list-item" >
', () => { test('handleSubmit should post to api', () => { diff --git a/src/screens/Organization/OrganizationAdd/index.js b/src/screens/Organization/OrganizationAdd/index.js new file mode 100644 index 0000000000..c9780003b1 --- /dev/null +++ b/src/screens/Organization/OrganizationAdd/index.js @@ -0,0 +1 @@ +export { default } from './OrganizationAdd'; diff --git a/src/pages/Organizations/screens/Organization/OrganizationDetail.jsx b/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx similarity index 90% rename from src/pages/Organizations/screens/Organization/OrganizationDetail.jsx rename to src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx index 34e44af61c..e233c79f48 100644 --- a/src/pages/Organizations/screens/Organization/OrganizationDetail.jsx +++ b/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx @@ -5,11 +5,11 @@ import { t } from '@lingui/macro'; import { CardBody as PFCardBody, Button } from '@patternfly/react-core'; import styled from 'styled-components'; -import { DetailList, Detail } from '../../../../components/DetailList'; -import { ChipGroup, Chip } from '../../../../components/Chip'; -import ContentError from '../../../../components/ContentError'; -import ContentLoading from '../../../../components/ContentLoading'; -import { OrganizationsAPI } from '../../../../api'; +import { DetailList, Detail } from '../../../components/DetailList'; +import { ChipGroup, Chip } from '../../../components/Chip'; +import ContentError from '../../../components/ContentError'; +import ContentLoading from '../../../components/ContentLoading'; +import { OrganizationsAPI } from '../../../api'; const CardBody = styled(PFCardBody)` padding-top: 20px; diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx b/src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx similarity index 91% rename from __tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx rename to src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx index 6e9f675388..7e86cae6c0 100644 --- a/__tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx +++ b/src/screens/Organization/OrganizationDetail/OrganizationDetail.test.jsx @@ -1,9 +1,9 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../../enzymeHelpers'; -import OrganizationDetail from '../../../../../src/pages/Organizations/screens/Organization/OrganizationDetail'; -import { OrganizationsAPI } from '../../../../../src/api'; +import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; +import OrganizationDetail from './OrganizationDetail'; +import { OrganizationsAPI } from '../../../api'; -jest.mock('../../../../../src/api'); +jest.mock('../../../api'); describe('', () => { const mockOrganization = { diff --git a/src/screens/Organization/OrganizationDetail/index.js b/src/screens/Organization/OrganizationDetail/index.js new file mode 100644 index 0000000000..4316ac7347 --- /dev/null +++ b/src/screens/Organization/OrganizationDetail/index.js @@ -0,0 +1 @@ +export { default } from './OrganizationDetail'; diff --git a/src/pages/Organizations/screens/Organization/OrganizationEdit.jsx b/src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx similarity index 93% rename from src/pages/Organizations/screens/Organization/OrganizationEdit.jsx rename to src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx index 258b052c79..aa6bba7f88 100644 --- a/src/pages/Organizations/screens/Organization/OrganizationEdit.jsx +++ b/src/screens/Organization/OrganizationEdit/OrganizationEdit.jsx @@ -2,10 +2,10 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withRouter } from 'react-router-dom'; import { CardBody } from '@patternfly/react-core'; -import OrganizationForm from '../../components/OrganizationForm'; -import { Config } from '../../../../contexts/Config'; +import OrganizationForm from '../shared/OrganizationForm'; +import { Config } from '../../../contexts/Config'; -import { OrganizationsAPI } from '../../../../api'; +import { OrganizationsAPI } from '../../../api'; class OrganizationEdit extends Component { constructor (props) { diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx b/src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx similarity index 89% rename from __tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx rename to src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx index 25df2eed0a..30b26daac4 100644 --- a/__tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx +++ b/src/screens/Organization/OrganizationEdit/OrganizationEdit.test.jsx @@ -1,11 +1,11 @@ import React from 'react'; -import { mountWithContexts } from '../../../../enzymeHelpers'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; -import OrganizationEdit from '../../../../../src/pages/Organizations/screens/Organization/OrganizationEdit'; +import OrganizationEdit from './OrganizationEdit'; -import { OrganizationsAPI } from '../../../../../src/api'; +import { OrganizationsAPI } from '../../../api'; -jest.mock('../../../../../src/api'); +jest.mock('../../../api'); const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms)); diff --git a/src/screens/Organization/OrganizationEdit/index.js b/src/screens/Organization/OrganizationEdit/index.js new file mode 100644 index 0000000000..ffaea2be4a --- /dev/null +++ b/src/screens/Organization/OrganizationEdit/index.js @@ -0,0 +1 @@ +export { default } from './OrganizationEdit'; diff --git a/src/pages/Organizations/screens/OrganizationsList.jsx b/src/screens/Organization/OrganizationList/OrganizationList.jsx similarity index 98% rename from src/pages/Organizations/screens/OrganizationsList.jsx rename to src/screens/Organization/OrganizationList/OrganizationList.jsx index c9ee097649..81f81fce8f 100644 --- a/src/pages/Organizations/screens/OrganizationsList.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationList.jsx @@ -13,7 +13,7 @@ import PaginatedDataList, { ToolbarAddButton } from '../../../components/PaginatedDataList'; import DataListToolbar from '../../../components/DataListToolbar'; -import OrganizationListItem from '../components/OrganizationListItem'; +import OrganizationListItem from './OrganizationListItem'; import AlertModal from '../../../components/AlertModal'; import { getQSConfig, parseNamespacedQueryString } from '../../../util/qs'; import { OrganizationsAPI } from '../../../api'; diff --git a/__tests__/pages/Organizations/screens/OrganizationsList.test.jsx b/src/screens/Organization/OrganizationList/OrganizationList.test.jsx similarity index 93% rename from __tests__/pages/Organizations/screens/OrganizationsList.test.jsx rename to src/screens/Organization/OrganizationList/OrganizationList.test.jsx index cf0cbacfb9..54ef801e96 100644 --- a/__tests__/pages/Organizations/screens/OrganizationsList.test.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationList.test.jsx @@ -1,9 +1,9 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../../enzymeHelpers'; -import OrganizationsList, { _OrganizationsList } from '../../../../src/pages/Organizations/screens/OrganizationsList'; -import { OrganizationsAPI } from '../../../../src/api'; +import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; +import OrganizationsList, { _OrganizationsList } from './OrganizationList'; +import { OrganizationsAPI } from '../../../api'; -jest.mock('../../../../src/api'); +jest.mock('../../../api'); const mockAPIOrgsList = { data: { diff --git a/src/pages/Organizations/components/OrganizationListItem.jsx b/src/screens/Organization/OrganizationList/OrganizationListItem.jsx similarity index 100% rename from src/pages/Organizations/components/OrganizationListItem.jsx rename to src/screens/Organization/OrganizationList/OrganizationListItem.jsx diff --git a/__tests__/pages/Organizations/components/OrganizationListItem.test.jsx b/src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx similarity index 82% rename from __tests__/pages/Organizations/components/OrganizationListItem.test.jsx rename to src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx index e82e1ae9dd..094263d584 100644 --- a/__tests__/pages/Organizations/components/OrganizationListItem.test.jsx +++ b/src/screens/Organization/OrganizationList/OrganizationListItem.test.jsx @@ -1,8 +1,8 @@ import React from 'react'; import { MemoryRouter } from 'react-router-dom'; import { I18nProvider } from '@lingui/react'; -import { mountWithContexts } from '../../../enzymeHelpers'; -import OrganizationListItem from '../../../../src/pages/Organizations/components/OrganizationListItem'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import OrganizationListItem from './OrganizationListItem'; describe('', () => { test('initially renders succesfully', () => { diff --git a/src/screens/Organization/OrganizationList/index.js b/src/screens/Organization/OrganizationList/index.js new file mode 100644 index 0000000000..ef71f26138 --- /dev/null +++ b/src/screens/Organization/OrganizationList/index.js @@ -0,0 +1,2 @@ +export { default as OrganizationList } from './OrganizationList'; +export { default as OrganizationListItem } from './OrganizationListItem'; diff --git a/src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx similarity index 94% rename from src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx rename to src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx index 54274d5f2e..d435c192f9 100644 --- a/src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx +++ b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.jsx @@ -4,11 +4,11 @@ import { withRouter } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; -import AlertModal from '../../../../components/AlertModal'; -import PaginatedDataList from '../../../../components/PaginatedDataList'; -import NotificationListItem from '../../../../components/NotificationsList/NotificationListItem'; -import { getQSConfig, parseNamespacedQueryString } from '../../../../util/qs'; -import { OrganizationsAPI } from '../../../../api'; +import AlertModal from '../../../components/AlertModal'; +import PaginatedDataList from '../../../components/PaginatedDataList'; +import NotificationListItem from '../../../components/NotificationsList/NotificationListItem'; +import { getQSConfig, parseNamespacedQueryString } from '../../../util/qs'; +import { OrganizationsAPI } from '../../../api'; const QS_CONFIG = getQSConfig('notification', { page: 1, diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx similarity index 93% rename from __tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx rename to src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx index 8c29971496..3f3b62e9a6 100644 --- a/__tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx +++ b/src/screens/Organization/OrganizationNotifications/OrganizationNotifications.test.jsx @@ -1,10 +1,10 @@ import React from 'react'; -import { mountWithContexts } from '../../../../enzymeHelpers'; -import OrganizationNotifications from '../../../../../src/pages/Organizations/screens/Organization/OrganizationNotifications'; -import { sleep } from '../../../../testUtils'; -import { OrganizationsAPI } from '../../../../../src/api'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import OrganizationNotifications from './OrganizationNotifications'; +import { sleep } from '../../../../testUtils/testUtils'; +import { OrganizationsAPI } from '../../../api'; -jest.mock('../../../../../src/api'); +jest.mock('../../../api'); describe('', () => { let data; diff --git a/__tests__/pages/Organizations/screens/Organization/__snapshots__/OrganizationNotifications.test.jsx.snap b/src/screens/Organization/OrganizationNotifications/__snapshots__/OrganizationNotifications.test.jsx.snap similarity index 100% rename from __tests__/pages/Organizations/screens/Organization/__snapshots__/OrganizationNotifications.test.jsx.snap rename to src/screens/Organization/OrganizationNotifications/__snapshots__/OrganizationNotifications.test.jsx.snap diff --git a/src/screens/Organization/OrganizationNotifications/index.js b/src/screens/Organization/OrganizationNotifications/index.js new file mode 100644 index 0000000000..512e11e424 --- /dev/null +++ b/src/screens/Organization/OrganizationNotifications/index.js @@ -0,0 +1 @@ +export { default } from './OrganizationNotifications'; diff --git a/src/pages/Organizations/screens/Organization/OrganizationTeams.jsx b/src/screens/Organization/OrganizationTeams/OrganizationTeams.jsx similarity index 92% rename from src/pages/Organizations/screens/Organization/OrganizationTeams.jsx rename to src/screens/Organization/OrganizationTeams/OrganizationTeams.jsx index afa0dac525..4ead8d98b9 100644 --- a/src/pages/Organizations/screens/Organization/OrganizationTeams.jsx +++ b/src/screens/Organization/OrganizationTeams/OrganizationTeams.jsx @@ -1,9 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; import { withRouter } from 'react-router-dom'; -import PaginatedDataList from '../../../../components/PaginatedDataList'; -import { getQSConfig, parseNamespacedQueryString } from '../../../../util/qs'; -import { OrganizationsAPI } from '../../../../api'; +import PaginatedDataList from '../../../components/PaginatedDataList'; +import { getQSConfig, parseNamespacedQueryString } from '../../../util/qs'; +import { OrganizationsAPI } from '../../../api'; const QS_CONFIG = getQSConfig('team', { page: 1, diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx b/src/screens/Organization/OrganizationTeams/OrganizationTeams.test.jsx similarity index 82% rename from __tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx rename to src/screens/Organization/OrganizationTeams/OrganizationTeams.test.jsx index fbe4323863..debdad5c26 100644 --- a/__tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx +++ b/src/screens/Organization/OrganizationTeams/OrganizationTeams.test.jsx @@ -1,11 +1,11 @@ import React from 'react'; import { shallow } from 'enzyme'; -import { mountWithContexts } from '../../../../enzymeHelpers'; -import { sleep } from '../../../../testUtils'; -import OrganizationTeams, { _OrganizationTeams } from '../../../../../src/pages/Organizations/screens/Organization/OrganizationTeams'; -import { OrganizationsAPI } from '../../../../../src/api'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import { sleep } from '../../../../testUtils/testUtils'; +import OrganizationTeams from './OrganizationTeams'; +import { OrganizationsAPI } from '../../../api'; -jest.mock('../../../../../src/api'); +jest.mock('../../../api'); const listData = { data: { @@ -31,7 +31,7 @@ describe('', () => { test('renders succesfully', () => { shallow( - <_OrganizationTeams + ', () => { const network = {}; diff --git a/src/screens/Organization/shared/index.js b/src/screens/Organization/shared/index.js new file mode 100644 index 0000000000..7f931cff31 --- /dev/null +++ b/src/screens/Organization/shared/index.js @@ -0,0 +1,2 @@ +export { default as InstanceGroupsLookup } from './InstanceGroupsLookup'; +export { default as OrganizationForm } from './OrganizationForm'; diff --git a/src/pages/Portal.jsx b/src/screens/Portal/Portal.jsx similarity index 100% rename from src/pages/Portal.jsx rename to src/screens/Portal/Portal.jsx diff --git a/__tests__/pages/Portal.test.jsx b/src/screens/Portal/Portal.test.jsx similarity index 86% rename from __tests__/pages/Portal.test.jsx rename to src/screens/Portal/Portal.test.jsx index 892034ba76..0ad075812b 100644 --- a/__tests__/pages/Portal.test.jsx +++ b/src/screens/Portal/Portal.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Portal from '../../src/pages/Portal'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Portal from './Portal'; describe('', () => { let pageWrapper; diff --git a/src/screens/Portal/index.js b/src/screens/Portal/index.js new file mode 100644 index 0000000000..f227015fb9 --- /dev/null +++ b/src/screens/Portal/index.js @@ -0,0 +1 @@ +export { default } from './Portal'; diff --git a/src/pages/Projects.jsx b/src/screens/Project/Projects.jsx similarity index 100% rename from src/pages/Projects.jsx rename to src/screens/Project/Projects.jsx diff --git a/__tests__/pages/Projects.test.jsx b/src/screens/Project/Projects.test.jsx similarity index 86% rename from __tests__/pages/Projects.test.jsx rename to src/screens/Project/Projects.test.jsx index 9e7ec2c623..7f19cb4016 100644 --- a/__tests__/pages/Projects.test.jsx +++ b/src/screens/Project/Projects.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Projects from '../../src/pages/Projects'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Projects from './Projects'; describe('', () => { let pageWrapper; diff --git a/src/screens/Project/index.js b/src/screens/Project/index.js new file mode 100644 index 0000000000..3b68dc8cf0 --- /dev/null +++ b/src/screens/Project/index.js @@ -0,0 +1 @@ +export { default } from './Projects'; diff --git a/src/pages/Schedules.jsx b/src/screens/Schedule/Schedules.jsx similarity index 100% rename from src/pages/Schedules.jsx rename to src/screens/Schedule/Schedules.jsx diff --git a/__tests__/pages/Schedules.test.jsx b/src/screens/Schedule/Schedules.test.jsx similarity index 86% rename from __tests__/pages/Schedules.test.jsx rename to src/screens/Schedule/Schedules.test.jsx index b2255f9fc1..aebcc8a192 100644 --- a/__tests__/pages/Schedules.test.jsx +++ b/src/screens/Schedule/Schedules.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Schedules from '../../src/pages/Schedules'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Schedules from './Schedules'; describe('', () => { let pageWrapper; diff --git a/src/screens/Schedule/index.js b/src/screens/Schedule/index.js new file mode 100644 index 0000000000..64f2dedc84 --- /dev/null +++ b/src/screens/Schedule/index.js @@ -0,0 +1 @@ +export { default } from './Schedules'; diff --git a/src/pages/SystemSettings.jsx b/src/screens/SystemSetting/SystemSettings.jsx similarity index 100% rename from src/pages/SystemSettings.jsx rename to src/screens/SystemSetting/SystemSettings.jsx diff --git a/__tests__/pages/SystemSettings.test.jsx b/src/screens/SystemSetting/SystemSettings.test.jsx similarity index 85% rename from __tests__/pages/SystemSettings.test.jsx rename to src/screens/SystemSetting/SystemSettings.test.jsx index 9fa1f751c7..52e559d0e5 100644 --- a/__tests__/pages/SystemSettings.test.jsx +++ b/src/screens/SystemSetting/SystemSettings.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import SystemSettings from '../../src/pages/SystemSettings'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import SystemSettings from './SystemSettings'; describe('', () => { let pageWrapper; diff --git a/src/screens/SystemSetting/index.js b/src/screens/SystemSetting/index.js new file mode 100644 index 0000000000..68b119e97b --- /dev/null +++ b/src/screens/SystemSetting/index.js @@ -0,0 +1 @@ +export { default } from './SystemSettings'; diff --git a/src/pages/Teams.jsx b/src/screens/Team/Teams.jsx similarity index 100% rename from src/pages/Teams.jsx rename to src/screens/Team/Teams.jsx diff --git a/__tests__/pages/Teams.test.jsx b/src/screens/Team/Teams.test.jsx similarity index 86% rename from __tests__/pages/Teams.test.jsx rename to src/screens/Team/Teams.test.jsx index 9d10331dcf..c845ad599a 100644 --- a/__tests__/pages/Teams.test.jsx +++ b/src/screens/Team/Teams.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Teams from '../../src/pages/Teams'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Teams from './Teams'; describe('', () => { let pageWrapper; diff --git a/src/screens/Team/index.js b/src/screens/Team/index.js new file mode 100644 index 0000000000..319079b82c --- /dev/null +++ b/src/screens/Team/index.js @@ -0,0 +1 @@ +export { default } from './Teams'; diff --git a/src/pages/Templates/TemplatesList.jsx b/src/screens/Template/TemplateList/TemplateList.jsx similarity index 94% rename from src/pages/Templates/TemplatesList.jsx rename to src/screens/Template/TemplateList/TemplateList.jsx index e904fe6846..fdc0c760d8 100644 --- a/src/pages/Templates/TemplatesList.jsx +++ b/src/screens/Template/TemplateList/TemplateList.jsx @@ -7,15 +7,15 @@ import { PageSection, PageSectionVariants, } from '@patternfly/react-core'; -import { JobTemplatesAPI, UnifiedJobTemplatesAPI, WorkflowJobTemplatesAPI } from '../../api'; +import { JobTemplatesAPI, UnifiedJobTemplatesAPI, WorkflowJobTemplatesAPI } from '../../../api'; -import { getQSConfig, parseNamespacedQueryString } from '../../util/qs'; -import AlertModal from '../../components/AlertModal'; -import DatalistToolbar from '../../components/DataListToolbar'; +import { getQSConfig, parseNamespacedQueryString } from '../../../util/qs'; +import AlertModal from '../../../components/AlertModal'; +import DatalistToolbar from '../../../components/DataListToolbar'; import PaginatedDataList, { ToolbarDeleteButton -} from '../../components/PaginatedDataList'; -import TemplateListItem from './components/TemplateListItem'; +} from '../../../components/PaginatedDataList'; +import TemplateListItem from './TemplateListItem'; // The type value in const QS_CONFIG below does not have a space between job_template and // workflow_job_template so the params sent to the API match what the api expects. diff --git a/src/pages/Templates/components/TemplateListItem.jsx b/src/screens/Template/TemplateList/TemplateListItem.jsx similarity index 100% rename from src/pages/Templates/components/TemplateListItem.jsx rename to src/screens/Template/TemplateList/TemplateListItem.jsx diff --git a/__tests__/pages/Templates/TemplatesList.test.jsx b/src/screens/Template/TemplateList/TemplatesList.test.jsx similarity index 95% rename from __tests__/pages/Templates/TemplatesList.test.jsx rename to src/screens/Template/TemplateList/TemplatesList.test.jsx index e70f320190..34e5d8dece 100644 --- a/__tests__/pages/Templates/TemplatesList.test.jsx +++ b/src/screens/Template/TemplateList/TemplatesList.test.jsx @@ -1,9 +1,9 @@ import React from 'react'; -import { mountWithContexts, waitForElement } from '../../enzymeHelpers'; -import TemplatesList, { _TemplatesList } from '../../../src/pages/Templates/TemplatesList'; -import { JobTemplatesAPI, UnifiedJobTemplatesAPI, WorkflowJobTemplatesAPI } from '../../../src/api'; +import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers'; +import TemplatesList, { _TemplatesList } from './TemplateList'; +import { JobTemplatesAPI, UnifiedJobTemplatesAPI, WorkflowJobTemplatesAPI } from '../../../api'; -jest.mock('../../../src/api'); +jest.mock('../../../api'); const mockTemplates = [{ id: 1, diff --git a/__tests__/pages/Templates/components/TemplatesListItem.test.jsx b/src/screens/Template/TemplateList/TemplatesListItem.test.jsx similarity index 67% rename from __tests__/pages/Templates/components/TemplatesListItem.test.jsx rename to src/screens/Template/TemplateList/TemplatesListItem.test.jsx index ee88eba5b6..d7298f78d5 100644 --- a/__tests__/pages/Templates/components/TemplatesListItem.test.jsx +++ b/src/screens/Template/TemplateList/TemplatesListItem.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../../../enzymeHelpers'; -import TemplatesListItem from '../../../../src/pages/Templates/components/TemplateListItem'; +import { mountWithContexts } from '../../../../testUtils/enzymeHelpers'; +import TemplatesListItem from './TemplateListItem'; describe('', () => { test('initially render successfully', () => { diff --git a/src/screens/Template/TemplateList/index.js b/src/screens/Template/TemplateList/index.js new file mode 100644 index 0000000000..60759a849a --- /dev/null +++ b/src/screens/Template/TemplateList/index.js @@ -0,0 +1,2 @@ +export { default as TemplateList } from './TemplateList'; +export { default as TemplateListItem } from './TemplateListItem'; diff --git a/src/pages/Templates/Templates.jsx b/src/screens/Template/Templates.jsx similarity index 92% rename from src/pages/Templates/Templates.jsx rename to src/screens/Template/Templates.jsx index bcbd27bdec..b311ae1473 100644 --- a/src/pages/Templates/Templates.jsx +++ b/src/screens/Template/Templates.jsx @@ -4,7 +4,7 @@ import { t } from '@lingui/macro'; import { Route, withRouter, Switch } from 'react-router-dom'; import Breadcrumbs from '../../components/Breadcrumbs/Breadcrumbs'; -import TemplatesList from './TemplatesList'; +import { TemplateList } from './TemplateList'; class Templates extends Component { constructor (props) { @@ -28,7 +28,7 @@ class Templates extends Component { ( - + )} /> diff --git a/__tests__/pages/Templates.test.jsx b/src/screens/Template/Templates.test.jsx similarity index 73% rename from __tests__/pages/Templates.test.jsx rename to src/screens/Template/Templates.test.jsx index 1a6bf80919..05dbedc1e6 100644 --- a/__tests__/pages/Templates.test.jsx +++ b/src/screens/Template/Templates.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import Templates from '../../src/pages/Templates/Templates'; -import { mountWithContexts } from '../enzymeHelpers'; +import Templates from './Templates'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; describe('', () => { let pageWrapper; diff --git a/src/screens/Template/index.js b/src/screens/Template/index.js new file mode 100644 index 0000000000..e4ee3d27fd --- /dev/null +++ b/src/screens/Template/index.js @@ -0,0 +1 @@ +export { default } from './Templates'; diff --git a/src/pages/UISettings.jsx b/src/screens/UISetting/UISettings.jsx similarity index 100% rename from src/pages/UISettings.jsx rename to src/screens/UISetting/UISettings.jsx diff --git a/__tests__/pages/UISettings.test.jsx b/src/screens/UISetting/UISettings.test.jsx similarity index 85% rename from __tests__/pages/UISettings.test.jsx rename to src/screens/UISetting/UISettings.test.jsx index 3ecab146bf..1d209bb1d4 100644 --- a/__tests__/pages/UISettings.test.jsx +++ b/src/screens/UISetting/UISettings.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import UISettings from '../../src/pages/UISettings'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import UISettings from './UISettings'; describe('', () => { let pageWrapper; diff --git a/src/screens/UISetting/index.js b/src/screens/UISetting/index.js new file mode 100644 index 0000000000..168e652b48 --- /dev/null +++ b/src/screens/UISetting/index.js @@ -0,0 +1 @@ +export { default } from './UISettings'; diff --git a/src/pages/Users.jsx b/src/screens/User/Users.jsx similarity index 100% rename from src/pages/Users.jsx rename to src/screens/User/Users.jsx diff --git a/__tests__/pages/Users.test.jsx b/src/screens/User/Users.test.jsx similarity index 86% rename from __tests__/pages/Users.test.jsx rename to src/screens/User/Users.test.jsx index bdacf86be1..cf714b7774 100644 --- a/__tests__/pages/Users.test.jsx +++ b/src/screens/User/Users.test.jsx @@ -1,6 +1,6 @@ import React from 'react'; -import { mountWithContexts } from '../enzymeHelpers'; -import Users from '../../src/pages/Users'; +import { mountWithContexts } from '../../../testUtils/enzymeHelpers'; +import Users from './Users'; describe('', () => { let pageWrapper; diff --git a/src/screens/User/index.js b/src/screens/User/index.js new file mode 100644 index 0000000000..b04c2d23da --- /dev/null +++ b/src/screens/User/index.js @@ -0,0 +1 @@ +export { default } from './Users'; diff --git a/__tests__/util/auth.test.js b/src/util/auth.test.js similarity index 98% rename from __tests__/util/auth.test.js rename to src/util/auth.test.js index b7cfcddae5..7cfbdd63c8 100644 --- a/__tests__/util/auth.test.js +++ b/src/util/auth.test.js @@ -1,4 +1,4 @@ -import { isAuthenticated } from '../../src/util/auth'; +import { isAuthenticated } from './auth'; const invalidCookie = 'invalid'; const validLoggedOutCookie = 'current_user=%7B%22id%22%3A1%2C%22type%22%3A%22user%22%2C%22url%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2F%22%2C%22related%22%3A%7B%22admin_of_organizations%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Fadmin_of_organizations%2F%22%2C%22authorized_tokens%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Fauthorized_tokens%2F%22%2C%22roles%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Froles%2F%22%2C%22organizations%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Forganizations%2F%22%2C%22access_list%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Faccess_list%2F%22%2C%22teams%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Fteams%2F%22%2C%22tokens%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Ftokens%2F%22%2C%22personal_tokens%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Fpersonal_tokens%2F%22%2C%22credentials%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Fcredentials%2F%22%2C%22activity_stream%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Factivity_stream%2F%22%2C%22projects%22%3A%22%2Fapi%2Fv2%2Fusers%2F1%2Fprojects%2F%22%7D%2C%22summary_fields%22%3A%7B%7D%2C%22created%22%3A%222018-10-19T16%3A30%3A59.141963Z%22%2C%22username%22%3A%22admin%22%2C%22first_name%22%3A%22%22%2C%22last_name%22%3A%22%22%2C%22email%22%3A%22%22%2C%22is_superuser%22%3Atrue%2C%22is_system_auditor%22%3Afalse%2C%22ldap_dn%22%3A%22%22%2C%22external_account%22%3Anull%2C%22auth%22%3A%5B%5D%7D; userLoggedIn=false; csrftoken=lhOHpLQUFHlIVqx8CCZmEpdEZAz79GIRBIT3asBzTbPE7HS7wizt7WBsgJClz8Ge'; diff --git a/__tests__/util/qs.test.js b/src/util/qs.test.js similarity index 99% rename from __tests__/util/qs.test.js rename to src/util/qs.test.js index b1f94ffc86..df8d2f450c 100644 --- a/__tests__/util/qs.test.js +++ b/src/util/qs.test.js @@ -5,7 +5,7 @@ import { parseNamespacedQueryString, encodeNamespacedQueryString, updateNamespacedQueryString, -} from '../../src/util/qs'; +} from './qs'; describe('qs (qs.js)', () => { test('encodeQueryString returns the expected queryString', () => { diff --git a/__tests__/util/strings.test.js b/src/util/strings.test.js similarity index 92% rename from __tests__/util/strings.test.js rename to src/util/strings.test.js index 9e23726f4f..ec2e6f3c13 100644 --- a/__tests__/util/strings.test.js +++ b/src/util/strings.test.js @@ -1,4 +1,4 @@ -import { pluralize, getArticle, ucFirst } from '../../src/util/strings'; +import { pluralize, getArticle, ucFirst } from './strings'; describe('string utils', () => { describe('pluralize', () => { diff --git a/__tests__/util/validators.test.js b/src/util/validators.test.js similarity index 95% rename from __tests__/util/validators.test.js rename to src/util/validators.test.js index 3021f804cb..588afc954c 100644 --- a/__tests__/util/validators.test.js +++ b/src/util/validators.test.js @@ -1,4 +1,4 @@ -import { required, maxLength } from '../../src/util/validators'; +import { required, maxLength } from './validators'; const i18n = { _: val => val }; diff --git a/__tests__/.eslintrc b/testUtils/.eslintrc similarity index 100% rename from __tests__/.eslintrc rename to testUtils/.eslintrc diff --git a/__tests__/__snapshots__/enzymeHelpers.test.jsx.snap b/testUtils/__snapshots__/enzymeHelpers.test.jsx.snap similarity index 100% rename from __tests__/__snapshots__/enzymeHelpers.test.jsx.snap rename to testUtils/__snapshots__/enzymeHelpers.test.jsx.snap diff --git a/__tests__/api/reusable.jsx b/testUtils/apiReusable.jsx similarity index 100% rename from __tests__/api/reusable.jsx rename to testUtils/apiReusable.jsx diff --git a/__tests__/enzymeHelpers.jsx b/testUtils/enzymeHelpers.jsx similarity index 100% rename from __tests__/enzymeHelpers.jsx rename to testUtils/enzymeHelpers.jsx diff --git a/__tests__/enzymeHelpers.test.jsx b/testUtils/enzymeHelpers.test.jsx similarity index 100% rename from __tests__/enzymeHelpers.test.jsx rename to testUtils/enzymeHelpers.test.jsx diff --git a/__tests__/testUtils.js b/testUtils/testUtils.js similarity index 100% rename from __tests__/testUtils.js rename to testUtils/testUtils.js