foreman_rh_cloud 14.2.0 → 14.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/lib/foreman_rh_cloud/version.rb +1 -1
  3. data/package.json +1 -1
  4. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/EmptyResults.js +15 -6
  5. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyResults/emptyResults.scss +1 -5
  6. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/EmptyState.js +15 -7
  7. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/__tests__/EmptyState.test.js +1 -3
  8. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/EmptyState/emptyState.scss +1 -5
  9. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ErrorState/ErrorState.js +2 -2
  10. data/webpack/ForemanInventoryUpload/Components/AccountList/Components/ListItem/__tests__/ListItem.test.js +0 -1
  11. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountList.test.js +2 -6
  12. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/Components/ClearButton/ClearButton.js +13 -10
  13. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/InventoryFilter.js +30 -11
  14. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/__tests__/integration.test.js +3 -1
  15. data/webpack/ForemanInventoryUpload/Components/InventoryFilter/inventoryFilter.scss +28 -22
  16. data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js +4 -4
  17. data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.scss +16 -3
  18. data/webpack/ForemanInventoryUpload/Components/InventorySettings/MinimalInventoryDropdown.js +13 -14
  19. data/webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.js +7 -7
  20. data/webpack/ForemanInventoryUpload/Components/PageHeader/PageHeader.scss +3 -2
  21. data/webpack/ForemanInventoryUpload/Components/PageHeader/PageTitle.js +63 -46
  22. data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/PageHeader.test.js +4 -7
  23. data/webpack/ForemanInventoryUpload/Components/PageHeader/__tests__/PageTitle.test.js +83 -12
  24. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/CloudPingModal/index.js +31 -38
  25. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButton.test.js +3 -1
  26. data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/InventoryAutoUpload.js +29 -22
  27. data/webpack/ForemanInventoryUpload/SubscriptionsPageExtension/InventoryAutoUpload/__tests__/InventoryAutoUpload.test.js +6 -2
  28. data/webpack/ForemanInventoryUpload/__tests__/ForemanInventoryHelpers.test.js +6 -3
  29. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTable.js +90 -23
  30. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableActions.js +1 -2
  31. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableConstants.js +24 -30
  32. data/webpack/InsightsCloudSync/Components/InsightsTable/InsightsTableHelpers.js +5 -6
  33. data/webpack/InsightsCloudSync/Components/InsightsTable/__tests__/InsightsTable.test.js +193 -8
  34. data/webpack/InsightsCloudSync/Components/InsightsTable/__tests__/InsightsTableActions.test.js +4 -1
  35. data/webpack/InsightsCloudSync/Components/RemediationModal/RemediationHelpers.js +8 -9
  36. data/webpack/InsightsCloudSync/Components/RemediationModal/RemediationModal.js +26 -13
  37. data/webpack/InsightsCloudSync/Components/RemediationModal/RemediationTableConstants.js +12 -10
  38. data/webpack/InsightsCloudSync/Components/ToolbarDropdown.js +21 -9
  39. data/webpack/InsightsCloudSync/InsightsCloudSync.test.js +12 -19
  40. data/webpack/InsightsCloudSync/__tests__/InsightsCloudSyncActions.test.js +0 -1
  41. data/webpack/common/DropdownToggle.js +20 -6
  42. metadata +1 -44
  43. data/webpack/ForemanInventoryUpload/Components/FileDownload/FileDownload.fixtures.js +0 -0
  44. data/webpack/ForemanInventoryUpload/Components/FileDownload/FileDownload.js +0 -25
  45. data/webpack/ForemanInventoryUpload/Components/FileDownload/FileDownloadHelper.js +0 -0
  46. data/webpack/ForemanInventoryUpload/Components/FileDownload/__tests__/FileDownload.test.js +0 -17
  47. data/webpack/ForemanInventoryUpload/Components/FileDownload/fileDownload.scss +0 -5
  48. data/webpack/ForemanInventoryUpload/Components/FileDownload/index.js +0 -1
  49. data/webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.fixtures.js +0 -20
  50. data/webpack/ForemanInventoryUpload/Components/NavContainer/NavContainer.js +0 -66
  51. data/webpack/ForemanInventoryUpload/Components/NavContainer/NavContainerHelper.js +0 -0
  52. data/webpack/ForemanInventoryUpload/Components/NavContainer/__tests__/NavContainer.test.js +0 -69
  53. data/webpack/ForemanInventoryUpload/Components/NavContainer/index.js +0 -1
  54. data/webpack/ForemanInventoryUpload/Components/NavContainer/navContainer.scss +0 -9
  55. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/ScheduledRun.fixtures.js +0 -4
  56. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/ScheduledRun.js +0 -29
  57. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/ScheduledRunHelper.js +0 -0
  58. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/__tests__/ScheduledRun.test.js +0 -33
  59. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/index.js +0 -12
  60. data/webpack/ForemanInventoryUpload/Components/ScheduledRun/scheduledRun.scss +0 -13
  61. data/webpack/ForemanInventoryUpload/Components/StatusChart/StatusChart.fixtures.js +0 -0
  62. data/webpack/ForemanInventoryUpload/Components/StatusChart/StatusChart.js +0 -57
  63. data/webpack/ForemanInventoryUpload/Components/StatusChart/StatusChartHelper.js +0 -0
  64. data/webpack/ForemanInventoryUpload/Components/StatusChart/__tests__/StatusChart.test.js +0 -30
  65. data/webpack/ForemanInventoryUpload/Components/StatusChart/index.js +0 -1
  66. data/webpack/ForemanInventoryUpload/Components/StatusChart/statusChart.scss +0 -10
  67. data/webpack/ForemanInventoryUpload/Components/TabContainer/TabContainer.fixtures.js +0 -0
  68. data/webpack/ForemanInventoryUpload/Components/TabContainer/TabContainer.js +0 -24
  69. data/webpack/ForemanInventoryUpload/Components/TabContainer/TabContainerHelper.js +0 -0
  70. data/webpack/ForemanInventoryUpload/Components/TabContainer/__tests__/TabContainer.test.js +0 -15
  71. data/webpack/ForemanInventoryUpload/Components/TabContainer/index.js +0 -1
  72. data/webpack/ForemanInventoryUpload/Components/TabContainer/tabContainer.scss +0 -10
  73. data/webpack/ForemanInventoryUpload/Components/TabFooter/TabFooter.fixtures.js +0 -0
  74. data/webpack/ForemanInventoryUpload/Components/TabFooter/TabFooter.js +0 -19
  75. data/webpack/ForemanInventoryUpload/Components/TabFooter/TabFooterHelper.js +0 -0
  76. data/webpack/ForemanInventoryUpload/Components/TabFooter/__tests__/TabFooter.test.js +0 -15
  77. data/webpack/ForemanInventoryUpload/Components/TabFooter/index.js +0 -1
  78. data/webpack/ForemanInventoryUpload/Components/TabFooter/tabFooter.scss +0 -0
  79. data/webpack/ForemanInventoryUpload/Components/TabHeader/TabHeader.fixtures.js +0 -0
  80. data/webpack/ForemanInventoryUpload/Components/TabHeader/TabHeader.js +0 -85
  81. data/webpack/ForemanInventoryUpload/Components/TabHeader/TabHeaderHelper.js +0 -0
  82. data/webpack/ForemanInventoryUpload/Components/TabHeader/__tests__/TabHeader.test.js +0 -114
  83. data/webpack/ForemanInventoryUpload/Components/TabHeader/index.js +0 -1
  84. data/webpack/ForemanInventoryUpload/Components/TabHeader/tabHeader.scss +0 -23
  85. data/webpack/common/Switcher/index.js +0 -80
@@ -1,114 +0,0 @@
1
- import React from 'react';
2
- import { Provider } from 'react-redux';
3
- import configureMockStore from 'redux-mock-store';
4
- import thunk from 'redux-thunk';
5
- import { screen, render } from '@testing-library/react';
6
- import { noop } from 'foremanReact/common/helpers';
7
- import * as ConfigHooks from '../../../../common/Hooks/ConfigHooks';
8
- import TabHeader from '../TabHeader';
9
-
10
- const middlewares = [thunk];
11
- const mockStore = configureMockStore(middlewares);
12
-
13
- jest.mock('../../../../common/Hooks/ConfigHooks');
14
-
15
- describe('TabHeader', () => {
16
- beforeEach(() => {
17
- ConfigHooks.useIopConfig = jest.fn();
18
- });
19
-
20
- test('when subscription connection is enabled and not IoP', () => {
21
- ConfigHooks.useIopConfig.mockReturnValue(false);
22
- const renderOptions = {
23
- API: {
24
- INVENTORY_SETTINGS: {
25
- response: { subscriptionConnectionEnabled: true },
26
- },
27
- },
28
- };
29
- const store = mockStore(renderOptions);
30
-
31
- const { container } = render(
32
- <Provider store={store}>
33
- <TabHeader exitCode="exit 0" onRestart={noop} toggleFullScreen={noop} />
34
- </Provider>
35
- );
36
- expect(screen.queryAllByText('Generate and upload report')).toHaveLength(1);
37
- expect(screen.queryAllByText('Full Screen')).toHaveLength(1);
38
- const button = container.querySelector('button[class*="btn-primary"]');
39
- expect(button.hasAttribute('disabled')).toBe(false);
40
- });
41
-
42
- test('when subscription connection is not enabled and not IoP - button is disabled with tooltip', () => {
43
- ConfigHooks.useIopConfig.mockReturnValue(false);
44
- const renderOptions = {
45
- API: {
46
- INVENTORY_SETTINGS: {
47
- response: { subscriptionConnectionEnabled: false },
48
- },
49
- },
50
- };
51
- const store = mockStore(renderOptions);
52
-
53
- const { container } = render(
54
- <Provider store={store}>
55
- <TabHeader exitCode="exit 0" onRestart={noop} toggleFullScreen={noop} />
56
- </Provider>
57
- );
58
-
59
- expect(screen.queryAllByText('Generate report')).toHaveLength(1);
60
- expect(screen.queryAllByText('Full Screen')).toHaveLength(1);
61
- const button = container.querySelector('button[class*="btn-primary"]');
62
- expect(button.hasAttribute('disabled')).toBe(true);
63
-
64
- // Verify button is wrapped in a div for tooltip (Patternfly requirement)
65
- // The tooltip content prop is passed but not rendered in the DOM until hover
66
- const wrapper = button.parentElement;
67
- expect(wrapper.tagName).toBe('DIV');
68
- expect(wrapper.style.display).toBe('inline-block');
69
- });
70
-
71
- test('when subscription connection is not enabled but IoP is enabled - button is enabled', () => {
72
- ConfigHooks.useIopConfig.mockReturnValue(true);
73
- const renderOptions = {
74
- API: {
75
- INVENTORY_SETTINGS: {
76
- response: { subscriptionConnectionEnabled: false },
77
- },
78
- },
79
- };
80
- const store = mockStore(renderOptions);
81
-
82
- const { container } = render(
83
- <Provider store={store}>
84
- <TabHeader exitCode="exit 0" onRestart={noop} toggleFullScreen={noop} />
85
- </Provider>
86
- );
87
-
88
- expect(screen.queryAllByText('Generate report')).toHaveLength(1);
89
- const button = container.querySelector('button[class*="btn-primary"]');
90
- expect(button.hasAttribute('disabled')).toBe(false);
91
- });
92
-
93
- test('when IoP is enabled and subscription connection is enabled - button is enabled', () => {
94
- ConfigHooks.useIopConfig.mockReturnValue(true);
95
- const renderOptions = {
96
- API: {
97
- INVENTORY_SETTINGS: {
98
- response: { subscriptionConnectionEnabled: true },
99
- },
100
- },
101
- };
102
- const store = mockStore(renderOptions);
103
-
104
- const { container } = render(
105
- <Provider store={store}>
106
- <TabHeader exitCode="exit 0" onRestart={noop} toggleFullScreen={noop} />
107
- </Provider>
108
- );
109
-
110
- expect(screen.queryAllByText('Generate and upload report')).toHaveLength(1);
111
- const button = container.querySelector('button[class*="btn-primary"]');
112
- expect(button.hasAttribute('disabled')).toBe(false);
113
- });
114
- });
@@ -1 +0,0 @@
1
- export { default } from './TabHeader';
@@ -1,23 +0,0 @@
1
- .rh-cloud-inventory-page {
2
- .tab-header {
3
- h1 {
4
- margin-top: 0;
5
- }
6
-
7
- p {
8
- font-size: 16px;
9
- }
10
-
11
- .tab-action-buttons {
12
- float: right;
13
-
14
- button {
15
- margin-left: 5px;
16
-
17
- span {
18
- margin-left: 5px;
19
- }
20
- }
21
- }
22
- }
23
- }
@@ -1,80 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Switch, Level, LevelItem } from '@patternfly/react-core';
4
- import {
5
- OverlayTrigger,
6
- Tooltip,
7
- Icon,
8
- Grid,
9
- ControlLabel,
10
- noop,
11
- } from 'patternfly-react';
12
-
13
- const Switcher = ({
14
- id,
15
- label,
16
- tooltip,
17
- isChecked,
18
- onChange,
19
- labelCol = 5,
20
- SwitchCol = 2,
21
- }) => (
22
- <React.Fragment>
23
- <Grid.Col sm={labelCol}>
24
- <ControlLabel className="control-label" style={{ paddingTop: '0' }}>
25
- <Level>
26
- <LevelItem>
27
- <span className={`rh-cloud-switcher-${id}-label`}>{label}</span>
28
- </LevelItem>
29
- <LevelItem>
30
- <OverlayTrigger
31
- overlay={
32
- <Tooltip
33
- id={`rh-cloud-switcher-${id}-tooltip`}
34
- style={{ zIndex: 10000 }}
35
- >
36
- {tooltip}
37
- </Tooltip>
38
- }
39
- placement="bottom"
40
- trigger={['hover', 'focus']}
41
- rootClose={false}
42
- >
43
- <Icon type="pf" name="info" />
44
- </OverlayTrigger>
45
- </LevelItem>
46
- </Level>
47
- </ControlLabel>
48
- </Grid.Col>
49
- <Grid.Col sm={SwitchCol} style={{ marginBottom: '5px' }}>
50
- <Switch
51
- id={`rh-cloud-switcher-${id}`}
52
- ouiaId={`rh-cloud-switcher-${id}`}
53
- isChecked={isChecked}
54
- onChange={onChange}
55
- label=" "
56
- />
57
- </Grid.Col>
58
- </React.Fragment>
59
- );
60
-
61
- Switcher.propTypes = {
62
- id: PropTypes.string.isRequired,
63
- label: PropTypes.string,
64
- tooltip: PropTypes.string,
65
- isChecked: PropTypes.bool,
66
- onChange: PropTypes.func,
67
- labelCol: PropTypes.number,
68
- SwitchCol: PropTypes.number,
69
- };
70
-
71
- Switcher.defaultProps = {
72
- label: null,
73
- tooltip: null,
74
- isChecked: true,
75
- onChange: noop,
76
- labelCol: 5,
77
- SwitchCol: 2,
78
- };
79
-
80
- export default Switcher;