diff --git a/__tests__/pages/Organizations/components/OrganizationListItem.test.jsx b/__tests__/pages/Organizations/components/OrganizationListItem.test.jsx
index a1bea32b3f..210979646b 100644
--- a/__tests__/pages/Organizations/components/OrganizationListItem.test.jsx
+++ b/__tests__/pages/Organizations/components/OrganizationListItem.test.jsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { mount } from 'enzyme';
import { MemoryRouter } from 'react-router-dom';
import { I18nProvider } from '@lingui/react';
+import { mountWithContexts } from '../../../enzymeHelpers';
import OrganizationListItem from '../../../../src/pages/Organizations/components/OrganizationListItem';
describe('', () => {
test('initially renders succesfully', () => {
- mount(
+ mountWithContexts(
diff --git a/__tests__/pages/Organizations/components/OrganizationTeamsList.test.jsx b/__tests__/pages/Organizations/components/OrganizationTeamsList.test.jsx
index 41282262f5..4f0924826e 100644
--- a/__tests__/pages/Organizations/components/OrganizationTeamsList.test.jsx
+++ b/__tests__/pages/Organizations/components/OrganizationTeamsList.test.jsx
@@ -1,8 +1,6 @@
import React from 'react';
-import { mount } from 'enzyme';
-import { MemoryRouter, Router } from 'react-router-dom';
import { createMemoryHistory } from 'history';
-import { I18nProvider } from '@lingui/react';
+import { mountWithContexts } from '../../../enzymeHelpers';
import { sleep } from '../../../testUtils';
import OrganizationTeamsList from '../../../../src/pages/Organizations/components/OrganizationTeamsList';
@@ -20,20 +18,16 @@ describe('', () => {
});
test('initially renders succesfully', () => {
- mount(
-
-
-
-
-
+ mountWithContexts(
+
);
});
@@ -42,20 +36,16 @@ describe('', () => {
const history = createMemoryHistory({
initialEntries: ['/organizations/1/teams'],
});
- const wrapper = mount(
-
-
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: { router: { history } } }
);
const toolbar = wrapper.find('DataListToolbar');
@@ -78,20 +68,16 @@ describe('', () => {
const history = createMemoryHistory({
initialEntries: ['/organizations/1/teams'],
});
- const wrapper = mount(
-
-
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: { router: { history } } }
);
const pagination = wrapper.find('Pagination');
diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx b/__tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx
index 5e66115d03..177ff714b1 100644
--- a/__tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx
+++ b/__tests__/pages/Organizations/screens/Organization/OrganizationDetail.test.jsx
@@ -1,7 +1,5 @@
import React from 'react';
-import { mount } from 'enzyme';
-import { MemoryRouter } from 'react-router-dom';
-import { I18nProvider } from '@lingui/react';
+import { mountWithContexts } from '../../../../enzymeHelpers';
import OrganizationDetail from '../../../../../src/pages/Organizations/screens/Organization/OrganizationDetail';
describe('', () => {
@@ -14,33 +12,21 @@ describe('', () => {
};
test('initially renders succesfully', () => {
- mount(
-
-
-
-
-
+ mountWithContexts(
+
);
});
test('should request instance groups from api', () => {
const getOrganizationInstanceGroups = jest.fn();
- mount(
-
-
- {}}
- organization={mockDetails}
- />
-
-
+ mountWithContexts(
+ , { context: {
+ network: { api: { getOrganizationInstanceGroups }, handleHttpError: () => {} }
+ } }
).find('OrganizationDetail');
expect(getOrganizationInstanceGroups).toHaveBeenCalledTimes(1);
@@ -54,23 +40,12 @@ describe('', () => {
const getOrganizationInstanceGroups = jest.fn(() => (
Promise.resolve({ data: { results: mockInstanceGroups } })
));
- const wrapper = mount(
-
-
- {}}
- api={{
- getOrganizationInstanceGroups
- }}
- />
-
-
+ const wrapper = mountWithContexts(
+ , { context: {
+ network: { api: { getOrganizationInstanceGroups }, handleHttpError: () => {} }
+ } }
).find('OrganizationDetail');
await getOrganizationInstanceGroups();
@@ -78,19 +53,10 @@ describe('', () => {
});
test('should render Details', async () => {
- const wrapper = mount(
-
-
-
-
-
+ const wrapper = mountWithContexts(
+
);
const detailWrapper = wrapper.find('Detail');
diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx b/__tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx
index 7aee6e5975..edd8296156 100644
--- a/__tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx
+++ b/__tests__/pages/Organizations/screens/Organization/OrganizationEdit.test.jsx
@@ -1,17 +1,12 @@
import React from 'react';
-import { mount } from 'enzyme';
-import { MemoryRouter } from 'react-router-dom';
-import { I18nProvider } from '@lingui/react';
+import { mountWithContexts } from '../../../../enzymeHelpers';
-import { NetworkProvider } from '../../../../../src/contexts/Network';
-
-import { _OrganizationEdit } from '../../../../../src/pages/Organizations/screens/Organization/OrganizationEdit';
+import OrganizationEdit from '../../../../../src/pages/Organizations/screens/Organization/OrganizationEdit';
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
describe('', () => {
let api;
- let networkProviderValue;
const mockData = {
name: 'Foo',
@@ -30,26 +25,16 @@ describe('', () => {
associateInstanceGroup: jest.fn(),
disassociate: jest.fn(),
};
-
- networkProviderValue = {
- api,
- handleHttpError: () => {}
- };
});
test('handleSubmit should call api update', () => {
- const wrapper = mount(
-
-
-
- <_OrganizationEdit
- organization={mockData}
- api={api}
- handleHttpError={() => {}}
- />
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: { network: {
+ api,
+ handleHttpError: () => {}
+ } } }
);
const updatedOrgData = {
@@ -66,18 +51,13 @@ describe('', () => {
});
test('handleSubmit associates and disassociates instance groups', async () => {
- const wrapper = mount(
-
-
-
- <_OrganizationEdit
- organization={mockData}
- api={api}
- handleHttpError={() => {}}
- />
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: { network: {
+ api,
+ handleHttpError: () => {}
+ } } }
);
const updatedOrgData = {
@@ -106,19 +86,16 @@ describe('', () => {
const history = {
push: jest.fn(),
};
- const wrapper = mount(
-
-
-
- <_OrganizationEdit
- organization={mockData}
- api={api}
- handleHttpError={() => {}}
- history={history}
- />
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: {
+ network: {
+ api: { api },
+ handleHttpError: () => {}
+ },
+ router: { history }
+ } }
);
expect(history.push).not.toHaveBeenCalled();
diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx b/__tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx
index 3061c7e9b8..560565c931 100644
--- a/__tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx
+++ b/__tests__/pages/Organizations/screens/Organization/OrganizationNotifications.test.jsx
@@ -1,60 +1,45 @@
import React from 'react';
-import { mount } from 'enzyme';
-import { MemoryRouter } from 'react-router-dom';
-import { _OrganizationNotifications } from '../../../../../src/pages/Organizations/screens/Organization/OrganizationNotifications';
+import { mountWithContexts } from '../../../../enzymeHelpers';
+
+import OrganizationNotifications from '../../../../../src/pages/Organizations/screens/Organization/OrganizationNotifications';
describe('', () => {
+ let api;
+
+ beforeEach(() => {
+ api = {
+ getOrganizationNotifications: jest.fn(),
+ getOrganizationNotificationSuccess: jest.fn(),
+ getOrganizationNotificationError: jest.fn(),
+ createOrganizationNotificationSuccess: jest.fn(),
+ createOrganizationNotificationError: jest.fn()
+ };
+ });
+
test('initially renders succesfully', () => {
- mount(
-
- <_OrganizationNotifications
- match={{ path: '/organizations/:id/notifications', url: '/organizations/1/notifications' }}
- location={{ search: '', pathname: '/organizations/1/notifications' }}
- params={{}}
- api={{
- getOrganizationNotifications: jest.fn(),
- getOrganizationNotificationSuccess: jest.fn(),
- getOrganizationNotificationError: jest.fn(),
- createOrganizationNotificationSuccess: jest.fn(),
- createOrganizationNotificationError: jest.fn()
- }}
- handleHttpError={() => {}}
- />
-
+ mountWithContexts(
+ , { context: { network: {
+ api,
+ handleHttpError: () => {}
+ } } }
);
});
test('handles api requests', () => {
- const getOrganizationNotifications = jest.fn();
- const getOrganizationNotificationSuccess = jest.fn();
- const getOrganizationNotificationError = jest.fn();
- const createOrganizationNotificationSuccess = jest.fn();
- const createOrganizationNotificationError = jest.fn();
- const wrapper = mount(
-
- <_OrganizationNotifications
- match={{ path: '/organizations/:id/notifications', url: '/organizations/1/notifications' }}
- location={{ search: '', pathname: '/organizations/1/notifications' }}
- params={{}}
- api={{
- getOrganizationNotifications,
- getOrganizationNotificationSuccess,
- getOrganizationNotificationError,
- createOrganizationNotificationSuccess,
- createOrganizationNotificationError
- }}
- handleHttpError={() => {}}
- />
-
+ const wrapper = mountWithContexts(
+ , { context: { network: {
+ api,
+ handleHttpError: () => {}
+ } } }
).find('OrganizationNotifications');
wrapper.instance().readOrgNotifications(1, { foo: 'bar' });
- expect(getOrganizationNotifications).toHaveBeenCalledWith(1, { foo: 'bar' });
+ expect(api.getOrganizationNotifications).toHaveBeenCalledWith(1, { foo: 'bar' });
wrapper.instance().readOrgNotificationSuccess(1, { foo: 'bar' });
- expect(getOrganizationNotificationSuccess).toHaveBeenCalledWith(1, { foo: 'bar' });
+ expect(api.getOrganizationNotificationSuccess).toHaveBeenCalledWith(1, { foo: 'bar' });
wrapper.instance().readOrgNotificationError(1, { foo: 'bar' });
- expect(getOrganizationNotificationError).toHaveBeenCalledWith(1, { foo: 'bar' });
+ expect(api.getOrganizationNotificationError).toHaveBeenCalledWith(1, { foo: 'bar' });
wrapper.instance().createOrgNotificationSuccess(1, { id: 2 });
- expect(createOrganizationNotificationSuccess).toHaveBeenCalledWith(1, { id: 2 });
+ expect(api.createOrganizationNotificationSuccess).toHaveBeenCalledWith(1, { id: 2 });
wrapper.instance().createOrgNotificationError(1, { id: 2 });
- expect(createOrganizationNotificationError).toHaveBeenCalledWith(1, { id: 2 });
+ expect(api.createOrganizationNotificationError).toHaveBeenCalledWith(1, { id: 2 });
});
});
diff --git a/__tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx b/__tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx
index 44effdca37..61b50bae57 100644
--- a/__tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx
+++ b/__tests__/pages/Organizations/screens/Organization/OrganizationTeams.test.jsx
@@ -1,12 +1,10 @@
import React from 'react';
-import { mount, shallow } from 'enzyme';
-import { MemoryRouter, Router } from 'react-router-dom';
-import { I18nProvider } from '@lingui/react';
+import { shallow } from 'enzyme';
import { createMemoryHistory } from 'history';
+import { mountWithContexts } from '../../../../enzymeHelpers';
import { sleep } from '../../../../testUtils';
import OrganizationTeams, { _OrganizationTeams } from '../../../../../src/pages/Organizations/screens/Organization/OrganizationTeams';
import OrganizationTeamsList from '../../../../../src/pages/Organizations/components/OrganizationTeamsList';
-import { NetworkProvider } from '../../../../../src/contexts/Network';
const listData = {
data: {
@@ -38,19 +36,13 @@ describe('', () => {
test('should load teams on mount', () => {
const readOrganizationTeamsList = jest.fn(() => Promise.resolve(listData));
- mount(
-
-
- {} }}
- >
-
-
-
-
+ mountWithContexts(
+ , { context: {
+ network: { api: { readOrganizationTeamsList }, handleHttpError: () => {} } }
+ }
).find('OrganizationTeams');
expect(readOrganizationTeamsList).toHaveBeenCalledWith(1, {
page: 1,
@@ -61,19 +53,13 @@ describe('', () => {
test('should pass fetched teams to list component', async () => {
const readOrganizationTeamsList = jest.fn(() => Promise.resolve(listData));
- const wrapper = mount(
-
-
- {} }}
- >
-
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: {
+ network: { api: { readOrganizationTeamsList }, handleHttpError: () => {} } }
+ }
);
await sleep(0);
@@ -105,19 +91,14 @@ describe('', () => {
const history = createMemoryHistory({
initialEntries: ['/organizations/1/teams'],
});
- const wrapper = mount(
-
-
- {} }}
- >
-
-
-
-
+ const wrapper = mountWithContexts(
+ , { context: {
+ network: { api: { readOrganizationTeamsList }, handleHttpError: () => {} },
+ router: { history }
+ } }
);
await sleep(0);
@@ -132,7 +113,6 @@ describe('', () => {
readOrganizationTeamsList.mockReturnValueOnce(page2Data);
history.push('/organizations/1/teams?page=2');
- wrapper.setProps({ history });
await sleep(0);
wrapper.update();
diff --git a/src/components/NotificationsList/Notifications.list.jsx b/src/components/NotificationsList/Notifications.list.jsx
index cd3ea675b7..d7595d913e 100644
--- a/src/components/NotificationsList/Notifications.list.jsx
+++ b/src/components/NotificationsList/Notifications.list.jsx
@@ -3,6 +3,7 @@ import React, {
Fragment
} from 'react';
import PropTypes from 'prop-types';
+import { withRouter } from 'react-router-dom';
import { Title, EmptyState, EmptyStateIcon, EmptyStateBody } from '@patternfly/react-core';
import { CubesIcon } from '@patternfly/react-icons';
import { I18n, i18nMark } from '@lingui/react';
@@ -344,4 +345,4 @@ Notifications.propTypes = {
};
export { Notifications as _Notifications };
-export default withNetwork(Notifications);
+export default withRouter(withNetwork(Notifications));
diff --git a/src/pages/Organizations/screens/Organization/OrganizationDetail.jsx b/src/pages/Organizations/screens/Organization/OrganizationDetail.jsx
index 2771cf8c8e..e069a5e01b 100644
--- a/src/pages/Organizations/screens/Organization/OrganizationDetail.jsx
+++ b/src/pages/Organizations/screens/Organization/OrganizationDetail.jsx
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import { Link } from 'react-router-dom';
+import { Link, withRouter } from 'react-router-dom';
import { I18n } from '@lingui/react';
import { Trans, t } from '@lingui/macro';
@@ -178,4 +178,4 @@ class OrganizationDetail extends Component {
}
}
-export default withNetwork(OrganizationDetail);
+export default withRouter(withNetwork(OrganizationDetail));
diff --git a/src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx b/src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx
index da658632c8..4f6cf13d6d 100644
--- a/src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx
+++ b/src/pages/Organizations/screens/Organization/OrganizationNotifications.jsx
@@ -41,12 +41,6 @@ class OrganizationNotifications extends Component {
}
render () {
- const {
- location,
- match,
- history
- } = this.props;
-
return (
);
}