foreman-tasks 2.0.0 → 3.0.2

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 (158) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/js_tests.yml +31 -0
  3. data/.github/workflows/ruby_tests.yml +74 -0
  4. data/.rubocop.yml +12 -4
  5. data/.rubocop_todo.yml +32 -25
  6. data/Gemfile +5 -0
  7. data/app/controllers/foreman_tasks/api/tasks_controller.rb +36 -60
  8. data/app/controllers/foreman_tasks/concerns/parameters/triggering.rb +1 -1
  9. data/app/controllers/foreman_tasks/recurring_logics_controller.rb +7 -0
  10. data/app/controllers/foreman_tasks/tasks_controller.rb +6 -3
  11. data/app/helpers/foreman_tasks/foreman_tasks_helper.rb +3 -3
  12. data/app/lib/actions/proxy_action.rb +1 -1
  13. data/app/models/foreman_tasks/recurring_logic.rb +1 -1
  14. data/app/models/foreman_tasks/task.rb +11 -0
  15. data/app/models/foreman_tasks/task/dynflow_task.rb +29 -33
  16. data/app/models/foreman_tasks/task/status_explicator.rb +1 -1
  17. data/app/models/foreman_tasks/triggering.rb +1 -1
  18. data/app/models/setting/foreman_tasks.rb +9 -9
  19. data/app/services/foreman_tasks/dashboard_table_filter.rb +5 -1
  20. data/app/views/foreman_tasks/api/tasks/index.json.rabl +2 -0
  21. data/app/views/foreman_tasks/api/tasks/show.json.rabl +2 -0
  22. data/app/views/foreman_tasks/layouts/react.html.erb +1 -2
  23. data/app/views/foreman_tasks/recurring_logics/index.html.erb +3 -1
  24. data/app/views/foreman_tasks/tasks/show.html.erb +1 -6
  25. data/config/routes.rb +2 -1
  26. data/db/migrate/20200517215015_rename_bookmarks_controller.rb +2 -2
  27. data/db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb +9 -0
  28. data/db/seeds.d/30-notification_blueprints.rb +7 -7
  29. data/db/seeds.d/61-foreman_tasks_bookmarks.rb +1 -1
  30. data/foreman-tasks.gemspec +1 -0
  31. data/lib/foreman_tasks/cleaner.rb +4 -6
  32. data/lib/foreman_tasks/dynflow/configuration.rb +1 -1
  33. data/lib/foreman_tasks/dynflow/persistence.rb +4 -6
  34. data/lib/foreman_tasks/engine.rb +2 -7
  35. data/lib/foreman_tasks/tasks/cleanup.rake +2 -2
  36. data/lib/foreman_tasks/tasks/dynflow.rake +6 -0
  37. data/lib/foreman_tasks/tasks/export_tasks.rake +1 -1
  38. data/lib/foreman_tasks/version.rb +1 -1
  39. data/locale/en/LC_MESSAGES/foreman_tasks.mo +0 -0
  40. data/locale/en/foreman_tasks.po +50 -20
  41. data/locale/foreman_tasks.pot +173 -126
  42. data/locale/fr/LC_MESSAGES/foreman_tasks.mo +0 -0
  43. data/locale/fr/foreman_tasks.po +817 -0
  44. data/locale/ja/LC_MESSAGES/foreman_tasks.mo +0 -0
  45. data/locale/ja/foreman_tasks.po +817 -0
  46. data/locale/zh_CN/LC_MESSAGES/foreman_tasks.mo +0 -0
  47. data/locale/zh_CN/foreman_tasks.po +816 -0
  48. data/package.json +1 -1
  49. data/script/npm_link_foreman_js.sh +26 -0
  50. data/test/controllers/api/recurring_logics_controller_test.rb +1 -1
  51. data/test/controllers/api/tasks_controller_test.rb +17 -7
  52. data/test/controllers/tasks_controller_test.rb +6 -6
  53. data/test/core/unit/runner_test.rb +20 -20
  54. data/test/core/unit/task_launcher_test.rb +8 -8
  55. data/test/helpers/foreman_tasks/foreman_tasks_helper_test.rb +7 -7
  56. data/test/helpers/foreman_tasks/tasks_helper_test.rb +3 -3
  57. data/test/lib/actions/middleware/keep_current_request_id_test.rb +3 -3
  58. data/test/support/history_tasks_builder.rb +1 -1
  59. data/test/tasks/generate_task_actions_test.rb +1 -1
  60. data/test/unit/actions/action_with_sub_plans_test.rb +2 -2
  61. data/test/unit/actions/bulk_action_test.rb +6 -6
  62. data/test/unit/actions/proxy_action_test.rb +20 -20
  63. data/test/unit/actions/recurring_action_test.rb +30 -32
  64. data/test/unit/cleaner_test.rb +24 -24
  65. data/test/unit/dashboard_table_filter_test.rb +5 -5
  66. data/test/unit/otp_manager_test.rb +2 -2
  67. data/test/unit/proxy_selector_test.rb +9 -9
  68. data/test/unit/recurring_logic_test.rb +32 -32
  69. data/test/unit/remote_task_test.rb +2 -2
  70. data/test/unit/task_groups_test.rb +4 -4
  71. data/test/unit/task_test.rb +18 -18
  72. data/test/unit/triggering_test.rb +8 -8
  73. data/test/unit/troubleshooting_help_generator_test.rb +6 -6
  74. data/test/unit/ui_notifications_test.rb +11 -11
  75. data/webpack/ForemanTasks/Components/TaskActions/TaskAction.test.js +2 -2
  76. data/webpack/ForemanTasks/Components/TaskActions/index.js +1 -1
  77. data/webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js +17 -3
  78. data/webpack/ForemanTasks/Components/TaskDetails/Components/Task.js +8 -153
  79. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskButtons.js +168 -0
  80. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js +6 -7
  81. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskSkeleton.js +48 -0
  82. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +8 -1
  83. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js +13 -70
  84. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskButtons.test.js +95 -0
  85. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/RunningSteps.test.js.snap +1 -1
  86. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap +78 -208
  87. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskButtons.test.js.snap +212 -0
  88. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap +8 -4
  89. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js +100 -53
  90. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.scss +13 -14
  91. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js +57 -95
  92. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js +3 -12
  93. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js +57 -28
  94. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.fixtures.js +8 -0
  95. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js +8 -1
  96. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js +6 -6
  97. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap +84 -12
  98. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsActions.test.js.snap +25 -21
  99. data/webpack/ForemanTasks/Components/TaskDetails/index.js +8 -3
  100. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.scss +4 -0
  101. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.js +53 -0
  102. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.test.js +14 -0
  103. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.js +27 -19
  104. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.scss +14 -0
  105. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.test.js +1 -34
  106. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/{StoppedTasksCardHelper.js → StoppedTasksCardTable.js} +28 -1
  107. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardTable.test.js +54 -0
  108. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/OtherInfo.test.js.snap +48 -0
  109. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCard.test.js.snap +60 -1367
  110. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCardTable.test.js.snap +960 -0
  111. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/__snapshots__/TasksCardsGrid.test.js.snap +14 -11
  112. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js +1 -1
  113. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardConstants.js +2 -0
  114. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardSelectors.js +17 -11
  115. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardActions.test.js +2 -2
  116. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js +26 -14
  117. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboard.test.js.snap +14 -11
  118. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardSelectors.test.js.snap +38 -22
  119. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalSelectors.js +1 -0
  120. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalSelectors.test.js +1 -0
  121. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModalSelectors.test.js.snap +2 -0
  122. data/webpack/ForemanTasks/Components/TasksTable/TasksBulkActions.js +25 -8
  123. data/webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js +3 -3
  124. data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +6 -3
  125. data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.scss +0 -10
  126. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +1 -0
  127. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksBulkActions.test.js +15 -2
  128. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js +1 -0
  129. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTablePage.test.js +2 -1
  130. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap +1 -0
  131. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksBulkActions.test.js.snap +48 -0
  132. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap +1 -0
  133. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +39 -7
  134. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/actionCellFormatter.test.js.snap +1 -0
  135. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/selectionCellFormatter.test.js.snap +2 -0
  136. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/actionCellFormatter.test.js +1 -1
  137. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/selectionCellFormatter.test.js +1 -1
  138. data/webpack/ForemanTasks/Components/TasksTable/formatters/actionCellFormatter.js +10 -7
  139. data/webpack/ForemanTasks/Components/TasksTable/formatters/selectionCellFormatter.js +7 -0
  140. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js +39 -31
  141. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.test.js +17 -8
  142. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ActionButton.test.js.snap +8 -0
  143. data/webpack/ForemanTasks/Components/common/urlHelpers.js +7 -0
  144. data/webpack/ForemanTasks/ForemanTasksReducers.js +0 -2
  145. data/webpack/__mocks__/foremanReact/common/helpers.js +2 -0
  146. data/webpack/__mocks__/foremanReact/redux/API/APISelectors.js +10 -0
  147. data/webpack/__mocks__/foremanReact/redux/API/index.js +10 -0
  148. data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware.js +5 -0
  149. metadata +35 -17
  150. data/.travis.yml +0 -5
  151. data/app/assets/stylesheets/foreman_tasks/tasks.scss +0 -9
  152. data/script/travis_run_js_tests.sh +0 -7
  153. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js +0 -38
  154. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js +0 -33
  155. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsReducer.test.js.snap +0 -26
  156. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/integration.test.js.snap +0 -122
  157. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js +0 -67
  158. data/webpack/__mocks__/foremanReact/API.js +0 -7
@@ -1,5 +1,13 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`ActionButton snapshot test render with canEdit false 1`] = `
4
+ <span>
5
+ <ActionButtons
6
+ buttons={Array []}
7
+ />
8
+ </span>
9
+ `;
10
+
3
11
  exports[`ActionButton snapshot test render with cancellable false props 1`] = `
4
12
  <span
5
13
  title="Task cannot be canceled"
@@ -0,0 +1,7 @@
1
+ import { foremanUrl } from 'foremanReact/common/helpers';
2
+
3
+ export const foremanTasksApiPath = path =>
4
+ foremanUrl(`/foreman_tasks/api/tasks/${path}`);
5
+
6
+ export const foremanTasksPath = path =>
7
+ foremanUrl(`/foreman_tasks/tasks/${path}`);
@@ -1,13 +1,11 @@
1
1
  import { combineReducers } from 'redux';
2
2
  import { reducers as tasksDashboardReducers } from './Components/TasksDashboard';
3
- import { reducers as taskDetailsReducers } from './Components/TaskDetails';
4
3
  import { reducers as tasksTableReducers } from './Components/TasksTable';
5
4
  import { reducers as confirmModalReducers } from './Components/TasksTable/Components/ConfirmModal';
6
5
 
7
6
  const reducers = {
8
7
  foremanTasks: combineReducers({
9
8
  ...tasksDashboardReducers,
10
- ...taskDetailsReducers,
11
9
  ...tasksTableReducers,
12
10
  ...confirmModalReducers,
13
11
  }),
@@ -2,3 +2,5 @@ export const getURIQuery = jest.fn(() => ({}));
2
2
 
3
3
  export const isoCompatibleDate = date => date;
4
4
  export const noop = Function.prototype;
5
+
6
+ export const foremanUrl = path => `foreman${path}`;
@@ -0,0 +1,10 @@
1
+ export const selectAPIResponse = (state, key) => ({
2
+ data: {
3
+ text: 'some-data',
4
+ key,
5
+ },
6
+ });
7
+
8
+ export const selectAPIStatus = (state, key) => 'PENDING';
9
+ export const selectAPIByKey = (state, key) => state[key];
10
+ export const selectAPIError = (state, key) => ({ error: `${key} ERRROR` });
@@ -0,0 +1,10 @@
1
+ export const API = {
2
+ get: jest.fn(),
3
+ put: jest.fn(),
4
+ post: jest.fn(),
5
+ delete: jest.fn(),
6
+ patch: jest.fn(),
7
+ };
8
+
9
+ export const get = data => ({ type: 'get-some-type', ...data });
10
+ export const post = data => ({ type: 'post-some-type', ...data });
@@ -0,0 +1,5 @@
1
+ export const stopInterval = () => ({
2
+ type: 'stop',
3
+ });
4
+
5
+ export const withInterval = (object, interval) => ({ ...object, interval });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-04 00:00:00.000000000 Z
11
+ date: 1980-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dynflow
@@ -122,12 +122,13 @@ extra_rdoc_files:
122
122
  - LICENSE
123
123
  files:
124
124
  - ".eslintrc"
125
+ - ".github/workflows/js_tests.yml"
126
+ - ".github/workflows/ruby_tests.yml"
125
127
  - ".gitignore"
126
128
  - ".prettierrc"
127
129
  - ".rubocop.yml"
128
130
  - ".rubocop_todo.yml"
129
131
  - ".stylelintrc"
130
- - ".travis.yml"
131
132
  - ".tx/config"
132
133
  - ".yo-rc.json"
133
134
  - Gemfile
@@ -136,7 +137,6 @@ files:
136
137
  - app/assets/javascripts/foreman_tasks/foreman_tasks.js
137
138
  - app/assets/javascripts/foreman_tasks/trigger_form.js
138
139
  - app/assets/stylesheets/foreman_tasks/foreman_tasks.css
139
- - app/assets/stylesheets/foreman_tasks/tasks.scss
140
140
  - app/assets/stylesheets/foreman_tasks/trigger_form.css
141
141
  - app/controllers/foreman_tasks/api/recurring_logics_controller.rb
142
142
  - app/controllers/foreman_tasks/api/tasks_controller.rb
@@ -210,6 +210,7 @@ files:
210
210
  - app/views/foreman_tasks/api/recurring_logics/show.json.rabl
211
211
  - app/views/foreman_tasks/api/recurring_logics/update.json.rabl
212
212
  - app/views/foreman_tasks/api/tasks/details.json.rabl
213
+ - app/views/foreman_tasks/api/tasks/index.json.rabl
213
214
  - app/views/foreman_tasks/api/tasks/show.json.rabl
214
215
  - app/views/foreman_tasks/layouts/react.html.erb
215
216
  - app/views/foreman_tasks/recurring_logics/_tab_related.html.erb
@@ -248,6 +249,7 @@ files:
248
249
  - db/migrate/20190318153925_add_task_state_updated_at.foreman_tasks.rb
249
250
  - db/migrate/20200517215015_rename_bookmarks_controller.rb
250
251
  - db/migrate/20200519093217_drop_dynflow_allow_dangerous_actions_setting.foreman_tasks.rb
252
+ - db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb
251
253
  - db/seeds.d/20-foreman_tasks_permissions.rb
252
254
  - db/seeds.d/30-notification_blueprints.rb
253
255
  - db/seeds.d/60-dynflow_proxy_feature.rb
@@ -269,6 +271,7 @@ files:
269
271
  - lib/foreman_tasks/engine.rb
270
272
  - lib/foreman_tasks/task_error.rb
271
273
  - lib/foreman_tasks/tasks/cleanup.rake
274
+ - lib/foreman_tasks/tasks/dynflow.rake
272
275
  - lib/foreman_tasks/tasks/export_tasks.rake
273
276
  - lib/foreman_tasks/tasks/generate_task_actions.rake
274
277
  - lib/foreman_tasks/test_extensions.rb
@@ -281,9 +284,15 @@ files:
281
284
  - locale/en/LC_MESSAGES/foreman_tasks.mo
282
285
  - locale/en/foreman_tasks.po
283
286
  - locale/foreman_tasks.pot
287
+ - locale/fr/LC_MESSAGES/foreman_tasks.mo
288
+ - locale/fr/foreman_tasks.po
289
+ - locale/ja/LC_MESSAGES/foreman_tasks.mo
290
+ - locale/ja/foreman_tasks.po
291
+ - locale/zh_CN/LC_MESSAGES/foreman_tasks.mo
292
+ - locale/zh_CN/foreman_tasks.po
284
293
  - package.json
294
+ - script/npm_link_foreman_js.sh
285
295
  - script/rails
286
- - script/travis_run_js_tests.sh
287
296
  - test/controllers/api/recurring_logics_controller_test.rb
288
297
  - test/controllers/api/tasks_controller_test.rb
289
298
  - test/controllers/recurring_logics_controller_test.rb
@@ -344,13 +353,16 @@ files:
344
353
  - webpack/ForemanTasks/Components/TaskDetails/Components/Raw.js
345
354
  - webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js
346
355
  - webpack/ForemanTasks/Components/TaskDetails/Components/Task.js
356
+ - webpack/ForemanTasks/Components/TaskDetails/Components/TaskButtons.js
347
357
  - webpack/ForemanTasks/Components/TaskDetails/Components/TaskHelper.js
348
358
  - webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js
359
+ - webpack/ForemanTasks/Components/TaskDetails/Components/TaskSkeleton.js
349
360
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Errors.test.js
350
361
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Locks.test.js
351
362
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Raw.test.js
352
363
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js
353
364
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js
365
+ - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskButtons.test.js
354
366
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskHelper.test.js
355
367
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskInfo.test.js
356
368
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Errors.test.js.snap
@@ -358,23 +370,20 @@ files:
358
370
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Raw.test.js.snap
359
371
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/RunningSteps.test.js.snap
360
372
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap
373
+ - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskButtons.test.js.snap
361
374
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap
362
375
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js
363
376
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetails.scss
364
377
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetails.stories.js
365
378
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js
366
379
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js
367
- - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js
368
380
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js
369
381
  - webpack/ForemanTasks/Components/TaskDetails/TasksDetailsHelper.js
382
+ - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.fixtures.js
370
383
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js
371
384
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js
372
- - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js
373
385
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap
374
386
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsActions.test.js.snap
375
- - webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsReducer.test.js.snap
376
- - webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/integration.test.js.snap
377
- - webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js
378
387
  - webpack/ForemanTasks/Components/TaskDetails/index.js
379
388
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.js
380
389
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.stories.js
@@ -389,12 +398,17 @@ files:
389
398
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.stories.js
390
399
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.test.js
391
400
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/__snapshots__/ScheduledTasksCard.test.js.snap
401
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.js
402
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.test.js
392
403
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.js
393
404
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.scss
394
405
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.stories.js
395
406
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.test.js
396
- - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardHelper.js
407
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardTable.js
408
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardTable.test.js
409
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/OtherInfo.test.js.snap
397
410
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCard.test.js.snap
411
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCardTable.test.js.snap
398
412
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.js
399
413
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.scss
400
414
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.stories.js
@@ -528,6 +542,7 @@ files:
528
542
  - webpack/ForemanTasks/Components/common/ClickConfirmation/index.js
529
543
  - webpack/ForemanTasks/Components/common/ToastsHelpers/ToastTypesConstants.js
530
544
  - webpack/ForemanTasks/Components/common/ToastsHelpers/index.js
545
+ - webpack/ForemanTasks/Components/common/urlHelpers.js
531
546
  - webpack/ForemanTasks/ForemanTasks.js
532
547
  - webpack/ForemanTasks/ForemanTasks.test.js
533
548
  - webpack/ForemanTasks/ForemanTasksReducers.js
@@ -545,7 +560,6 @@ files:
545
560
  - webpack/ForemanTasks/Routes/__snapshots__/ForemanTasksRoutes.test.js.snap
546
561
  - webpack/ForemanTasks/__snapshots__/ForemanTasks.test.js.snap
547
562
  - webpack/ForemanTasks/index.js
548
- - webpack/__mocks__/foremanReact/API.js
549
563
  - webpack/__mocks__/foremanReact/common/I18n.js
550
564
  - webpack/__mocks__/foremanReact/common/helpers.js
551
565
  - webpack/__mocks__/foremanReact/common/urlHelpers.js
@@ -561,16 +575,20 @@ files:
561
575
  - webpack/__mocks__/foremanReact/components/common/table.js
562
576
  - webpack/__mocks__/foremanReact/components/common/table/actionsHelpers/actionTypeCreator.js
563
577
  - webpack/__mocks__/foremanReact/constants.js
578
+ - webpack/__mocks__/foremanReact/redux/API/APISelectors.js
579
+ - webpack/__mocks__/foremanReact/redux/API/index.js
564
580
  - webpack/__mocks__/foremanReact/redux/actions/toasts.js
581
+ - webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware.js
565
582
  - webpack/__mocks__/foremanReact/routes/common/PageLayout/PageLayout.js
566
583
  - webpack/__mocks__/foremanReact/routes/common/PageLayout/components/ExportButton/ExportButton.js
567
584
  - webpack/index.js
568
585
  - webpack/stories/decorators/index.js
569
586
  - webpack/stories/decorators/withCardsDecorator.js
570
587
  homepage: https://github.com/theforeman/foreman-tasks
571
- licenses: []
588
+ licenses:
589
+ - GPL-3.0
572
590
  metadata: {}
573
- post_install_message:
591
+ post_install_message:
574
592
  rdoc_options: []
575
593
  require_paths:
576
594
  - lib
@@ -585,8 +603,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
585
603
  - !ruby/object:Gem::Version
586
604
  version: '0'
587
605
  requirements: []
588
- rubygems_version: 3.0.3
589
- signing_key:
606
+ rubygems_version: 3.1.2
607
+ signing_key:
590
608
  specification_version: 4
591
609
  summary: Foreman plugin for showing tasks information for resources and users
592
610
  test_files:
@@ -1,5 +0,0 @@
1
- language: node_js
2
- node_js:
3
- - '10'
4
- - '12'
5
- script: ./script/travis_run_js_tests.sh
@@ -1,9 +0,0 @@
1
- .param-name {
2
- display: inline-block;
3
- width: 10em;
4
- }
5
-
6
- .task-details pre {
7
- white-space: pre;
8
- word-break: normal;
9
- }
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
- set -ev
3
- if [[ $( git diff --name-only HEAD~1..HEAD webpack/ .travis.yml babel.config.js .eslintrc package.json | wc -l ) -ne 0 ]]; then
4
- npm run test;
5
- npm run publish-coverage;
6
- npm run lint;
7
- fi
@@ -1,38 +0,0 @@
1
- import Immutable from 'seamless-immutable';
2
- import {
3
- FOREMAN_TASK_DETAILS_FETCH_TASK_REQUEST,
4
- FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS,
5
- FOREMAN_TASK_DETAILS_STOP_POLLING,
6
- FOREMAN_TASK_DETAILS_START_POLLING,
7
- } from './TaskDetailsConstants';
8
-
9
- const initialState = Immutable({});
10
-
11
- export default (state = initialState, action) => {
12
- const { type, payload } = action;
13
- let { taskReload, timeoutId } = state;
14
-
15
- switch (type) {
16
- case FOREMAN_TASK_DETAILS_FETCH_TASK_REQUEST:
17
- return state.set('loading', true);
18
- case FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS:
19
- if (payload.state === 'stopped') {
20
- clearTimeout(state.timeoutId);
21
- taskReload = false;
22
- timeoutId = null;
23
- }
24
- return state.merge({
25
- loading: false,
26
- ...payload,
27
- taskReload,
28
- timeoutId,
29
- });
30
- case FOREMAN_TASK_DETAILS_STOP_POLLING:
31
- return state.merge({ taskReload: false, timeoutId: null });
32
- case FOREMAN_TASK_DETAILS_START_POLLING:
33
- clearTimeout(state.timeoutId);
34
- return state.merge({ taskReload: true, timeoutId: payload.timeoutId });
35
- default:
36
- return state;
37
- }
38
- };
@@ -1,33 +0,0 @@
1
- import { testReducerSnapshotWithFixtures } from '@theforeman/test';
2
-
3
- import {
4
- FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS,
5
- FOREMAN_TASK_DETAILS_STOP_POLLING,
6
- FOREMAN_TASK_DETAILS_START_POLLING,
7
- } from '../TaskDetailsConstants';
8
- import reducer from '../TaskDetailsReducer';
9
-
10
- const fixtures = {
11
- 'should return the initial state': {},
12
- 'should handle FOREMAN_TASK_DETAILS_START_POLLING': {
13
- action: {
14
- type: FOREMAN_TASK_DETAILS_START_POLLING,
15
- payload: { timeoutId: 1 },
16
- },
17
- },
18
- 'should handle FOREMAN_TASK_DETAILS_STOP_POLLING': {
19
- action: {
20
- type: FOREMAN_TASK_DETAILS_STOP_POLLING,
21
- payload: { timeoutId: 1 },
22
- },
23
- },
24
- 'should handle FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS': {
25
- action: {
26
- type: FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS,
27
- payload: { data: 'some-payload' },
28
- },
29
- },
30
- };
31
-
32
- describe('TaskDetails - Reducer', () =>
33
- testReducerSnapshotWithFixtures(reducer, fixtures));
@@ -1,26 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`TaskDetails - Reducer should handle FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS 1`] = `
4
- Object {
5
- "data": "some-payload",
6
- "loading": false,
7
- "taskReload": undefined,
8
- "timeoutId": undefined,
9
- }
10
- `;
11
-
12
- exports[`TaskDetails - Reducer should handle FOREMAN_TASK_DETAILS_START_POLLING 1`] = `
13
- Object {
14
- "taskReload": true,
15
- "timeoutId": 1,
16
- }
17
- `;
18
-
19
- exports[`TaskDetails - Reducer should handle FOREMAN_TASK_DETAILS_STOP_POLLING 1`] = `
20
- Object {
21
- "taskReload": false,
22
- "timeoutId": null,
23
- }
24
- `;
25
-
26
- exports[`TaskDetails - Reducer should return the initial state 1`] = `Object {}`;
@@ -1,122 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`TaskDetails integration test should change the data after reload: task details data should change 1`] = `
4
- Object {
5
- "action": Array [
6
- Array [
7
- Object {
8
- "payload": Object {
9
- "timeoutId": 1,
10
- },
11
- "type": "FOREMAN_TASK_DETAILS_START_POLLING",
12
- },
13
- ],
14
- ],
15
- "state": Object {
16
- "taskDetails": Object {
17
- "label": "new-label",
18
- "loading": false,
19
- "taskReload": true,
20
- "timeoutId": 1,
21
- },
22
- },
23
- }
24
- `;
25
-
26
- exports[`TaskDetails integration test should change the data after reload: task details reload start without error 1`] = `
27
- Array [
28
- Array [
29
- Object {
30
- "type": "FOREMAN_TASK_DETAILS_FETCH_TASK_REQUEST",
31
- },
32
- ],
33
- Array [
34
- Object {
35
- "payload": Object {
36
- "timeoutId": 1,
37
- },
38
- "type": "FOREMAN_TASK_DETAILS_START_POLLING",
39
- },
40
- ],
41
- Array [
42
- Object {
43
- "payload": Object {
44
- "label": "new-label",
45
- },
46
- "type": "FOREMAN_TASK_DETAILS_FETCH_TASK_SUCCESS",
47
- },
48
- ],
49
- Array [
50
- Object {
51
- "payload": Object {
52
- "timeoutId": 1,
53
- },
54
- "type": "FOREMAN_TASK_DETAILS_START_POLLING",
55
- },
56
- ],
57
- ]
58
- `;
59
-
60
- exports[`TaskDetails integration test should flow: initial state 1`] = `
61
- Object {
62
- "taskDetails": Object {
63
- "loading": true,
64
- },
65
- }
66
- `;
67
-
68
- exports[`TaskDetails integration test should flow: task details reload start with error 1`] = `
69
- Array [
70
- Array [
71
- Object {
72
- "type": "FOREMAN_TASK_DETAILS_FETCH_TASK_REQUEST",
73
- },
74
- ],
75
- Array [
76
- Object {
77
- "payload": Object {
78
- "timeoutId": 1,
79
- },
80
- "type": "FOREMAN_TASK_DETAILS_START_POLLING",
81
- },
82
- ],
83
- Array [
84
- Object {
85
- "payload": [TypeError: Cannot read property 'data' of undefined],
86
- "type": "FOREMAN_TASK_DETAILS_FETCH_TASK_FAILURE",
87
- },
88
- ],
89
- ]
90
- `;
91
-
92
- exports[`TaskDetails integration test should flow: task details reload stop 1`] = `
93
- Array [
94
- Array [
95
- Object {
96
- "type": "FOREMAN_TASK_DETAILS_FETCH_TASK_REQUEST",
97
- },
98
- ],
99
- Array [
100
- Object {
101
- "payload": Object {
102
- "timeoutId": 1,
103
- },
104
- "type": "FOREMAN_TASK_DETAILS_START_POLLING",
105
- },
106
- ],
107
- Array [
108
- Object {
109
- "payload": [TypeError: Cannot read property 'data' of undefined],
110
- "type": "FOREMAN_TASK_DETAILS_FETCH_TASK_FAILURE",
111
- },
112
- ],
113
- Array [
114
- Object {
115
- "payload": Object {
116
- "timeoutId": 1,
117
- },
118
- "type": "FOREMAN_TASK_DETAILS_STOP_POLLING",
119
- },
120
- ],
121
- ]
122
- `;