foreman-tasks 1.0.0 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc +2 -22
  3. data/.rubocop.yml +12 -12
  4. data/.rubocop_todo.yml +34 -116
  5. data/app/controllers/foreman_tasks/api/recurring_logics_controller.rb +20 -1
  6. data/app/controllers/foreman_tasks/api/tasks_controller.rb +38 -11
  7. data/app/controllers/foreman_tasks/concerns/hosts_controller_extension.rb +1 -1
  8. data/app/controllers/foreman_tasks/recurring_logics_controller.rb +19 -0
  9. data/app/helpers/foreman_tasks/foreman_tasks_helper.rb +1 -3
  10. data/app/lib/actions/helpers/humanizer.rb +1 -3
  11. data/app/lib/actions/proxy_action.rb +33 -12
  12. data/app/lib/foreman_tasks/concerns/polling_action_extensions.rb +12 -0
  13. data/app/models/foreman_tasks/concerns/action_triggering.rb +1 -1
  14. data/app/models/foreman_tasks/recurring_logic.rb +1 -0
  15. data/app/models/foreman_tasks/remote_task.rb +1 -0
  16. data/app/models/foreman_tasks/task.rb +4 -0
  17. data/app/models/foreman_tasks/task/dynflow_task.rb +1 -1
  18. data/app/models/foreman_tasks/task/search.rb +11 -1
  19. data/app/models/setting/foreman_tasks.rb +6 -1
  20. data/app/services/foreman_tasks/troubleshooting_help_generator.rb +0 -4
  21. data/app/services/ui_notifications/tasks/task_bulk_cancel.rb +36 -0
  22. data/app/services/ui_notifications/tasks/task_bulk_resume.rb +38 -0
  23. data/app/views/foreman_tasks/api/recurring_logics/base.json.rabl +2 -1
  24. data/app/views/foreman_tasks/api/tasks/details.json.rabl +1 -0
  25. data/app/views/foreman_tasks/api/tasks/show.json.rabl +1 -1
  26. data/app/views/foreman_tasks/recurring_logics/index.html.erb +30 -0
  27. data/app/views/foreman_tasks/tasks/show.html.erb +3 -0
  28. data/{.babelrc.js → babel.config.js} +0 -0
  29. data/config/routes.rb +7 -0
  30. data/db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb +9 -0
  31. data/db/seeds.d/30-notification_blueprints.rb +14 -0
  32. data/foreman-tasks.gemspec +5 -6
  33. data/gemfile.d/foreman-tasks.rb +1 -0
  34. data/lib/foreman_tasks/dynflow/console_authorizer.rb +2 -2
  35. data/lib/foreman_tasks/engine.rb +17 -14
  36. data/lib/foreman_tasks/tasks/cleanup.rake +3 -3
  37. data/lib/foreman_tasks/tasks/dynflow.rake +6 -0
  38. data/lib/foreman_tasks/tasks/export_tasks.rake +3 -3
  39. data/lib/foreman_tasks/test_extensions.rb +1 -1
  40. data/lib/foreman_tasks/version.rb +1 -1
  41. data/locale/action_names.rb +1 -1
  42. data/package.json +18 -71
  43. data/script/rails +2 -2
  44. data/script/travis_run_js_tests.sh +2 -2
  45. data/test/controllers/api/tasks_controller_test.rb +9 -0
  46. data/test/factories/task_factory.rb +34 -2
  47. data/test/foreman_tasks_test_helper.rb +4 -0
  48. data/test/lib/concerns/polling_action_extensions_test.rb +34 -0
  49. data/test/unit/actions/action_with_sub_plans_test.rb +1 -1
  50. data/test/unit/task_test.rb +160 -74
  51. data/webpack/ForemanTasks/Components/TaskDetails/Components/Task.js +4 -0
  52. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js +3 -12
  53. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Errors.test.js +1 -1
  54. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Locks.test.js +1 -1
  55. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Raw.test.js +1 -1
  56. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +1 -1
  57. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js +2 -1
  58. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskInfo.test.js +1 -1
  59. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap +3 -1
  60. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap +3 -9
  61. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.stories.js +6 -2
  62. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js +4 -1
  63. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js +1 -1
  64. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js +1 -1
  65. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js +1 -1
  66. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap +1 -0
  67. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js +1 -1
  68. data/webpack/ForemanTasks/Components/TaskDetails/index.js +2 -0
  69. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.stories.js +44 -40
  70. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.test.js +1 -1
  71. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/RunningTasksCard/RunningTasksCard.stories.js +45 -40
  72. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/RunningTasksCard/RunningTasksCard.test.js +1 -1
  73. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.stories.js +27 -22
  74. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.test.js +1 -1
  75. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.stories.js +61 -56
  76. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.test.js +1 -1
  77. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.stories.js +40 -35
  78. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.test.js +1 -1
  79. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutChart/TasksDonutChart.stories.js +21 -20
  80. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutChart/TasksDonutChart.test.js +1 -1
  81. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/TasksCardsGrid.stories.js +40 -39
  82. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/TasksCardsGrid.test.js +1 -1
  83. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/TasksLabelsRow.stories.js +16 -17
  84. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/TasksLabelsRow.test.js +1 -2
  85. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.stories.mdx +57 -0
  86. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.test.js +1 -1
  87. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/TasksTimeRow.stories.js +36 -18
  88. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/TasksTimeRow.test.js +1 -1
  89. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardConstants.js +5 -0
  90. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardHelper.js +3 -2
  91. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboard.test.js +1 -1
  92. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardActions.test.js +1 -1
  93. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardReducer.test.js +1 -1
  94. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js +1 -1
  95. data/webpack/ForemanTasks/Components/TasksTable/Components/CancelConfirm.js +53 -0
  96. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmationModals.js +56 -0
  97. data/webpack/ForemanTasks/Components/TasksTable/Components/ResumeConfirm.js +52 -0
  98. data/webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js +43 -0
  99. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionSelectButton.test.js +1 -1
  100. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/CancelConfirm.test.js +26 -0
  101. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ConfirmationModals.test.js +24 -0
  102. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ResumeConfirm.test.js +26 -0
  103. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/SelectAllAlert.test.js +29 -0
  104. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/TableSelectionCell.test.js +1 -1
  105. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/TableSelectionHeaderCell.test.js +1 -1
  106. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/CancelConfirm.test.js.snap +65 -0
  107. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ConfirmationModals.test.js.snap +30 -0
  108. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ResumeConfirm.test.js.snap +63 -0
  109. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/SelectAllAlert.test.js.snap +75 -0
  110. data/webpack/ForemanTasks/Components/TasksTable/SubTasksPage.js +4 -1
  111. data/webpack/ForemanTasks/Components/TasksTable/TasksBulkActions.js +164 -0
  112. data/webpack/ForemanTasks/Components/TasksTable/TasksTable.js +46 -22
  113. data/webpack/ForemanTasks/Components/TasksTable/TasksTableActionHelpers.js +52 -0
  114. data/webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js +88 -87
  115. data/webpack/ForemanTasks/Components/TasksTable/TasksTableConstants.js +23 -9
  116. data/webpack/ForemanTasks/Components/TasksTable/TasksTableHelpers.js +4 -3
  117. data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +128 -31
  118. data/webpack/ForemanTasks/Components/TasksTable/TasksTableReducer.js +26 -9
  119. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +24 -16
  120. data/webpack/ForemanTasks/Components/TasksTable/__tests__/SubTasksPage.test.js +1 -1
  121. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksBulkActions.test.js +112 -0
  122. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksIndexPage.test.js +1 -1
  123. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js +12 -5
  124. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.test.js +1 -1
  125. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableActionHelpers.test.js +46 -0
  126. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableActions.test.js +28 -52
  127. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableHelpers.test.js +17 -1
  128. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTablePage.test.js +10 -2
  129. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js +28 -8
  130. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap +15 -5
  131. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksBulkActions.test.js.snap +229 -0
  132. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap +14 -5
  133. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableActions.test.js.snap +56 -85
  134. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +158 -32
  135. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableReducer.test.js.snap +43 -16
  136. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/selectionHeaderCellFormatter.test.js +1 -1
  137. data/webpack/ForemanTasks/Components/TasksTable/formatters/selectionHeaderCellFormatter.js +2 -2
  138. data/webpack/ForemanTasks/Components/TasksTable/index.js +11 -4
  139. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js +4 -4
  140. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.test.js +1 -1
  141. data/webpack/ForemanTasks/Components/common/ActionButtons/CancelButton.test.js +1 -2
  142. data/webpack/ForemanTasks/Components/common/ActionButtons/ResumeButton.test.js +2 -2
  143. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ActionButton.test.js.snap +3 -3
  144. data/webpack/ForemanTasks/Components/common/ToastTypesConstants.js +11 -0
  145. data/webpack/ForemanTasks/ForemanTasks.test.js +1 -1
  146. data/webpack/ForemanTasks/Routes/ForemanTasksRouter.test.js +1 -1
  147. data/webpack/ForemanTasks/Routes/ForemanTasksRoutes.test.js +2 -3
  148. data/webpack/ForemanTasks/Routes/ShowTask/__tests__/ShowTask.test.js +1 -1
  149. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +2 -0
  150. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalHooks.js +10 -0
  151. data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +4 -0
  152. metadata +55 -24
  153. data/.storybook/addons.js +0 -2
  154. data/.storybook/config.js +0 -7
  155. data/.storybook/webpack.config.js +0 -84
  156. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.stories.js +0 -23
  157. data/webpack/ForemanTasks/Components/TasksTable/Components/ActionConfirmation.js +0 -49
  158. data/webpack/ForemanTasks/Components/TasksTable/Components/CancelResumeConfirm.js +0 -51
  159. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionConfirmation.test.js +0 -18
  160. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/CancelResumeConfirm.test.js +0 -28
  161. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ActionConfirmation.test.js.snap +0 -89
  162. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/CancelResumeConfirm.test.js.snap +0 -37
  163. data/webpack/stories/index.js +0 -10
  164. data/webpack/stories/index.scss +0 -7
  165. data/webpack/test_setup.js +0 -7
@@ -2,7 +2,8 @@ import { connect } from 'react-redux';
2
2
  import { bindActionCreators } from 'redux';
3
3
  import TasksTablePage from './TasksTablePage';
4
4
  import reducer from './TasksTableReducer';
5
- import * as actions from './TasksTableActions';
5
+ import * as tableActions from './TasksTableActions';
6
+ import * as bulkActions from './TasksBulkActions';
6
7
  import {
7
8
  selectStatus,
8
9
  selectError,
@@ -12,7 +13,9 @@ import {
12
13
  selectSort,
13
14
  selectActionName,
14
15
  selectSelectedRows,
15
- selectModalStatus,
16
+ selectClicked,
17
+ selectAllRowsSelected,
18
+ selectShowSelectAll,
16
19
  } from './TasksTableSelectors';
17
20
 
18
21
  const mapStateToProps = state => ({
@@ -24,9 +27,13 @@ const mapStateToProps = state => ({
24
27
  itemCount: selectItemCount(state),
25
28
  actionName: selectActionName(state),
26
29
  selectedRows: selectSelectedRows(state),
27
- modalStatus: selectModalStatus(state),
30
+ clicked: selectClicked(state),
31
+ allRowsSelected: selectAllRowsSelected(state),
32
+ showSelectAll: selectShowSelectAll(state),
28
33
  });
29
- const mapDispatchToProps = dispatch => bindActionCreators(actions, dispatch);
34
+
35
+ const mapDispatchToProps = dispatch =>
36
+ bindActionCreators({ ...tableActions, ...bulkActions }, dispatch);
30
37
 
31
38
  export const reducers = { tasksTable: reducer };
32
39
 
@@ -10,7 +10,7 @@ export const ActionButton = ({ id, name, availableActions, taskActions }) => {
10
10
  <ResumeButton
11
11
  id={id}
12
12
  name={name}
13
- onClick={taskActions.resume}
13
+ onClick={taskActions.resumeTask}
14
14
  disabled={false}
15
15
  />
16
16
  );
@@ -20,7 +20,7 @@ export const ActionButton = ({ id, name, availableActions, taskActions }) => {
20
20
  id={id}
21
21
  name={name}
22
22
  disabled={!availableActions.cancellable}
23
- onClick={taskActions.cancel}
23
+ onClick={taskActions.cancelTask}
24
24
  />
25
25
  );
26
26
  };
@@ -33,7 +33,7 @@ ActionButton.propTypes = {
33
33
  resumable: PropTypes.bool,
34
34
  }).isRequired,
35
35
  taskActions: PropTypes.shape({
36
- cancel: PropTypes.func,
37
- resume: PropTypes.func,
36
+ cancelTask: PropTypes.func,
37
+ resumeTask: PropTypes.func,
38
38
  }).isRequired,
39
39
  };
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import { ActionButton } from './ActionButton';
4
4
 
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
3
- import { shallow } from 'enzyme';
2
+ import { testComponentSnapshotsWithFixtures, shallow } from '@theforeman/test';
4
3
  import { CancelButton } from './CancelButton';
5
4
 
6
5
  const fixtures = {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
3
- import { shallow } from 'enzyme';
2
+ import { testComponentSnapshotsWithFixtures, shallow } from '@theforeman/test';
3
+
4
4
  import { ResumeButton } from './ResumeButton';
5
5
 
6
6
  const fixtures = {
@@ -5,7 +5,7 @@ exports[`ActionButton render with cancellable false props 1`] = `
5
5
  disabled={true}
6
6
  id="id"
7
7
  name="some-name"
8
- onClick={[MockFunction]}
8
+ onClick={[Function]}
9
9
  />
10
10
  `;
11
11
 
@@ -14,7 +14,7 @@ exports[`ActionButton render with cancellable true props 1`] = `
14
14
  disabled={false}
15
15
  id="id"
16
16
  name="some-name"
17
- onClick={[MockFunction]}
17
+ onClick={[Function]}
18
18
  />
19
19
  `;
20
20
 
@@ -23,6 +23,6 @@ exports[`ActionButton render with resumable true props 1`] = `
23
23
  disabled={false}
24
24
  id="id"
25
25
  name="some-name"
26
- onClick={[MockFunction]}
26
+ onClick={[Function]}
27
27
  />
28
28
  `;
@@ -0,0 +1,11 @@
1
+ export const INFO = 'info';
2
+ export const SUCCESS = 'success';
3
+ export const ERROR = 'error';
4
+ export const WARNING = 'warning';
5
+
6
+ export const TOAST_TYPES = {
7
+ INFO,
8
+ SUCCESS,
9
+ ERROR,
10
+ WARNING,
11
+ };
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import ForemanTasks from './ForemanTasks';
4
4
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
2
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
3
3
 
4
4
  import ForemanTasksRouter from './ForemanTasksRouter';
5
5
 
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import toJson from 'enzyme-to-json';
2
+ import { shallow } from '@theforeman/test';
4
3
 
5
4
  import ForemanTasksRoutes from './ForemanTasksRoutes';
6
5
 
@@ -8,7 +7,7 @@ describe('ForemanTasksRoutes', () => {
8
7
  it('should create routes', () => {
9
8
  Object.entries(ForemanTasksRoutes).forEach(([key, Route]) => {
10
9
  const component = shallow(<Route.render history={{}} some="props" />);
11
- Route.renderResult = toJson(component);
10
+ Route.renderResult = component;
12
11
  });
13
12
 
14
13
  expect(ForemanTasksRoutes).toMatchSnapshot();
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import ShowTask from '../ShowTask';
4
4
 
@@ -0,0 +1,2 @@
1
+ const ForemanModalActions = () => jest.fn();
2
+ export default ForemanModalActions;
@@ -0,0 +1,10 @@
1
+ const modalOpen = true;
2
+ const setModalOpen = jest.fn();
3
+ const setModalClosed = jest.fn();
4
+
5
+ export const useForemanModal = () => ({
6
+ modalOpen,
7
+ setModalOpen,
8
+ setModalClosed,
9
+ });
10
+ export default useForemanModal;
@@ -0,0 +1,4 @@
1
+ const ForemanModal = () => jest.fn();
2
+ ForemanModal.Header = () => jest.fn();
3
+ ForemanModal.Footer = () => jest.fn();
4
+ export default ForemanModal;
metadata CHANGED
@@ -1,45 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-19 00:00:00.000000000 Z
11
+ date: 2020-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: foreman-tasks-core
14
+ name: dynflow
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.2.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.2.3
27
27
  - !ruby/object:Gem::Dependency
28
- name: dynflow
28
+ name: foreman-tasks-core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.3
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2.3
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: sinatra
42
+ name: get_process_mem
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.1.4
69
69
  - !ruby/object:Gem::Dependency
70
- name: get_process_mem
70
+ name: sinatra
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 4.8.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: |
98
112
  The goal of this plugin is to unify the way of showing task statuses across the Foreman instance.
99
113
  It defines Task model for keeping the information about the tasks and Lock for assigning the tasks
@@ -107,15 +121,11 @@ extra_rdoc_files:
107
121
  - README.md
108
122
  - LICENSE
109
123
  files:
110
- - ".babelrc.js"
111
124
  - ".eslintrc"
112
125
  - ".gitignore"
113
126
  - ".prettierrc"
114
127
  - ".rubocop.yml"
115
128
  - ".rubocop_todo.yml"
116
- - ".storybook/addons.js"
117
- - ".storybook/config.js"
118
- - ".storybook/webpack.config.js"
119
129
  - ".stylelintrc"
120
130
  - ".travis.yml"
121
131
  - ".tx/config"
@@ -163,6 +173,7 @@ files:
163
173
  - app/lib/actions/proxy_action.rb
164
174
  - app/lib/actions/recurring_action.rb
165
175
  - app/lib/actions/serializers/active_record_serializer.rb
176
+ - app/lib/foreman_tasks/concerns/polling_action_extensions.rb
166
177
  - app/lib/proxy_api/foreman_dynflow/dynflow_proxy.rb
167
178
  - app/models/foreman_tasks/concerns/action_subject.rb
168
179
  - app/models/foreman_tasks/concerns/action_triggering.rb
@@ -187,6 +198,8 @@ files:
187
198
  - app/services/foreman_tasks/proxy_selector.rb
188
199
  - app/services/foreman_tasks/troubleshooting_help_generator.rb
189
200
  - app/services/ui_notifications/tasks.rb
201
+ - app/services/ui_notifications/tasks/task_bulk_cancel.rb
202
+ - app/services/ui_notifications/tasks/task_bulk_resume.rb
190
203
  - app/services/ui_notifications/tasks/task_paused_admin.rb
191
204
  - app/services/ui_notifications/tasks/task_paused_owner.rb
192
205
  - app/views/common/_trigger_form.html.erb
@@ -208,6 +221,7 @@ files:
208
221
  - app/views/foreman_tasks/tasks/dashboard/_latest_tasks_in_error_warning.html.erb
209
222
  - app/views/foreman_tasks/tasks/dashboard/_tasks_status.html.erb
210
223
  - app/views/foreman_tasks/tasks/show.html.erb
224
+ - babel.config.js
211
225
  - bin/dynflow-executor
212
226
  - bin/foreman-tasks
213
227
  - config/foreman-tasks.yaml.example
@@ -231,6 +245,7 @@ files:
231
245
  - db/migrate/20180927120509_add_user_id.foreman_tasks.rb
232
246
  - db/migrate/20181019135324_add_remote_task_operation.rb
233
247
  - db/migrate/20190318153925_add_task_state_updated_at.foreman_tasks.rb
248
+ - db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb
234
249
  - db/seeds.d/20-foreman_tasks_permissions.rb
235
250
  - db/seeds.d/30-notification_blueprints.rb
236
251
  - db/seeds.d/60-dynflow_proxy_feature.rb
@@ -240,6 +255,7 @@ files:
240
255
  - extra/dynflow-debug.sh
241
256
  - extra/dynflow-executor.example
242
257
  - foreman-tasks.gemspec
258
+ - gemfile.d/foreman-tasks.rb
243
259
  - lib/foreman-tasks.rb
244
260
  - lib/foreman_tasks.rb
245
261
  - lib/foreman_tasks/authorizer_ext.rb
@@ -251,6 +267,7 @@ files:
251
267
  - lib/foreman_tasks/engine.rb
252
268
  - lib/foreman_tasks/task_error.rb
253
269
  - lib/foreman_tasks/tasks/cleanup.rake
270
+ - lib/foreman_tasks/tasks/dynflow.rake
254
271
  - lib/foreman_tasks/tasks/export_tasks.rake
255
272
  - lib/foreman_tasks/tasks/generate_task_actions.rake
256
273
  - lib/foreman_tasks/test_extensions.rb
@@ -284,6 +301,7 @@ files:
284
301
  - test/lib/actions/middleware/keep_current_taxonomies_test.rb
285
302
  - test/lib/actions/middleware/keep_current_timezone_test.rb
286
303
  - test/lib/actions/middleware/keep_current_user_test.rb
304
+ - test/lib/concerns/polling_action_extensions_test.rb
287
305
  - test/support/dummy_active_job.rb
288
306
  - test/support/dummy_dynflow_action.rb
289
307
  - test/support/dummy_proxy_action.rb
@@ -392,7 +410,7 @@ files:
392
410
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/TasksLabelsRow.test.js
393
411
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/__snapshots__/TasksLabelsRow.test.js.snap
394
412
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.js
395
- - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.stories.js
413
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.stories.mdx
396
414
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.test.js
397
415
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/__snapshots__/TimeDropDown.test.js.snap
398
416
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/TasksTimeRow.js
@@ -419,24 +437,32 @@ files:
419
437
  - webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardReducer.test.js.snap
420
438
  - webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardSelectors.test.js.snap
421
439
  - webpack/ForemanTasks/Components/TasksDashboard/index.js
422
- - webpack/ForemanTasks/Components/TasksTable/Components/ActionConfirmation.js
423
440
  - webpack/ForemanTasks/Components/TasksTable/Components/ActionSelectButton.js
424
- - webpack/ForemanTasks/Components/TasksTable/Components/CancelResumeConfirm.js
441
+ - webpack/ForemanTasks/Components/TasksTable/Components/CancelConfirm.js
442
+ - webpack/ForemanTasks/Components/TasksTable/Components/ConfirmationModals.js
443
+ - webpack/ForemanTasks/Components/TasksTable/Components/ResumeConfirm.js
444
+ - webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js
425
445
  - webpack/ForemanTasks/Components/TasksTable/Components/TableSelectionCell.js
426
446
  - webpack/ForemanTasks/Components/TasksTable/Components/TableSelectionHeaderCell.js
427
- - webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionConfirmation.test.js
428
447
  - webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionSelectButton.test.js
429
- - webpack/ForemanTasks/Components/TasksTable/Components/__test__/CancelResumeConfirm.test.js
448
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/CancelConfirm.test.js
449
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/ConfirmationModals.test.js
450
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/ResumeConfirm.test.js
451
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/SelectAllAlert.test.js
430
452
  - webpack/ForemanTasks/Components/TasksTable/Components/__test__/TableSelectionCell.test.js
431
453
  - webpack/ForemanTasks/Components/TasksTable/Components/__test__/TableSelectionHeaderCell.test.js
432
- - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ActionConfirmation.test.js.snap
433
454
  - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ActionSelectButton.test.js.snap
434
- - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/CancelResumeConfirm.test.js.snap
455
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/CancelConfirm.test.js.snap
456
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ConfirmationModals.test.js.snap
457
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ResumeConfirm.test.js.snap
458
+ - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/SelectAllAlert.test.js.snap
435
459
  - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/TableSelectionCell.test.js.snap
436
460
  - webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/TableSelectionHeaderCell.test.js.snap
437
461
  - webpack/ForemanTasks/Components/TasksTable/SubTasksPage.js
462
+ - webpack/ForemanTasks/Components/TasksTable/TasksBulkActions.js
438
463
  - webpack/ForemanTasks/Components/TasksTable/TasksIndexPage.js
439
464
  - webpack/ForemanTasks/Components/TasksTable/TasksTable.js
465
+ - webpack/ForemanTasks/Components/TasksTable/TasksTableActionHelpers.js
440
466
  - webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js
441
467
  - webpack/ForemanTasks/Components/TasksTable/TasksTableConstants.js
442
468
  - webpack/ForemanTasks/Components/TasksTable/TasksTableHelpers.js
@@ -446,14 +472,17 @@ files:
446
472
  - webpack/ForemanTasks/Components/TasksTable/TasksTableSchema.js
447
473
  - webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js
448
474
  - webpack/ForemanTasks/Components/TasksTable/__tests__/SubTasksPage.test.js
475
+ - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksBulkActions.test.js
449
476
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksIndexPage.test.js
450
477
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js
451
478
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.test.js
479
+ - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableActionHelpers.test.js
452
480
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableActions.test.js
453
481
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableHelpers.test.js
454
482
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTablePage.test.js
455
483
  - webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
456
484
  - webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap
485
+ - webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksBulkActions.test.js.snap
457
486
  - webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap
458
487
  - webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTable.test.js.snap
459
488
  - webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableActions.test.js.snap
@@ -489,6 +518,7 @@ files:
489
518
  - webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/CancelButton.test.js.snap
490
519
  - webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ResumeButton.test.js.snap
491
520
  - webpack/ForemanTasks/Components/common/ClickConfirmation/index.js
521
+ - webpack/ForemanTasks/Components/common/ToastTypesConstants.js
492
522
  - webpack/ForemanTasks/ForemanTasks.js
493
523
  - webpack/ForemanTasks/ForemanTasks.test.js
494
524
  - webpack/ForemanTasks/ForemanTasksReducers.js
@@ -510,6 +540,9 @@ files:
510
540
  - webpack/__mocks__/foremanReact/common/I18n.js
511
541
  - webpack/__mocks__/foremanReact/common/helpers.js
512
542
  - webpack/__mocks__/foremanReact/common/urlHelpers.js
543
+ - webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js
544
+ - webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalHooks.js
545
+ - webpack/__mocks__/foremanReact/components/ForemanModal/index.js
513
546
  - webpack/__mocks__/foremanReact/components/Layout/LayoutActions.js
514
547
  - webpack/__mocks__/foremanReact/components/Pagination/PaginationWrapper.js
515
548
  - webpack/__mocks__/foremanReact/components/common/MessageBox.js
@@ -524,9 +557,6 @@ files:
524
557
  - webpack/index.js
525
558
  - webpack/stories/decorators/index.js
526
559
  - webpack/stories/decorators/withCardsDecorator.js
527
- - webpack/stories/index.js
528
- - webpack/stories/index.scss
529
- - webpack/test_setup.js
530
560
  homepage: https://github.com/theforeman/foreman-tasks
531
561
  licenses: []
532
562
  metadata: {}
@@ -568,6 +598,7 @@ test_files:
568
598
  - test/lib/actions/middleware/keep_current_taxonomies_test.rb
569
599
  - test/lib/actions/middleware/keep_current_timezone_test.rb
570
600
  - test/lib/actions/middleware/keep_current_user_test.rb
601
+ - test/lib/concerns/polling_action_extensions_test.rb
571
602
  - test/support/dummy_active_job.rb
572
603
  - test/support/dummy_dynflow_action.rb
573
604
  - test/support/dummy_proxy_action.rb
@@ -1,2 +0,0 @@
1
- import '@storybook/addon-actions/register';
2
- import '@storybook/addon-knobs/register';
@@ -1,7 +0,0 @@
1
- import { configure } from '@storybook/react';
2
-
3
- function loadStories() {
4
- require('../webpack/stories');
5
- }
6
-
7
- configure(loadStories, module);