foreman-tasks 1.2.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) 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/README.md +2 -0
  8. data/app/controllers/foreman_tasks/api/tasks_controller.rb +36 -60
  9. data/app/controllers/foreman_tasks/concerns/parameters/triggering.rb +1 -1
  10. data/app/controllers/foreman_tasks/recurring_logics_controller.rb +7 -0
  11. data/app/controllers/foreman_tasks/tasks_controller.rb +6 -3
  12. data/app/helpers/foreman_tasks/foreman_tasks_helper.rb +3 -3
  13. data/app/lib/actions/proxy_action.rb +1 -1
  14. data/app/models/foreman_tasks/recurring_logic.rb +1 -1
  15. data/app/models/foreman_tasks/task.rb +11 -0
  16. data/app/models/foreman_tasks/task/dynflow_task.rb +29 -33
  17. data/app/models/foreman_tasks/task/status_explicator.rb +1 -1
  18. data/app/models/foreman_tasks/triggering.rb +1 -1
  19. data/app/models/setting/foreman_tasks.rb +9 -9
  20. data/app/services/foreman_tasks/dashboard_table_filter.rb +5 -1
  21. data/app/views/foreman_tasks/api/tasks/index.json.rabl +2 -0
  22. data/app/views/foreman_tasks/api/tasks/show.json.rabl +2 -0
  23. data/app/views/foreman_tasks/recurring_logics/index.html.erb +3 -1
  24. data/config/routes.rb +2 -1
  25. data/db/migrate/20200517215015_rename_bookmarks_controller.rb +2 -2
  26. data/db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb +9 -0
  27. data/db/seeds.d/30-notification_blueprints.rb +7 -7
  28. data/db/seeds.d/61-foreman_tasks_bookmarks.rb +1 -1
  29. data/lib/foreman_tasks/cleaner.rb +4 -6
  30. data/lib/foreman_tasks/dynflow/configuration.rb +1 -1
  31. data/lib/foreman_tasks/dynflow/persistence.rb +4 -6
  32. data/lib/foreman_tasks/engine.rb +2 -7
  33. data/lib/foreman_tasks/tasks/cleanup.rake +2 -2
  34. data/lib/foreman_tasks/tasks/dynflow.rake +6 -0
  35. data/lib/foreman_tasks/tasks/export_tasks.rake +1 -1
  36. data/lib/foreman_tasks/version.rb +1 -1
  37. data/locale/en/LC_MESSAGES/foreman_tasks.mo +0 -0
  38. data/locale/en/foreman_tasks.po +50 -20
  39. data/locale/foreman_tasks.pot +173 -126
  40. data/locale/fr/LC_MESSAGES/foreman_tasks.mo +0 -0
  41. data/locale/fr/foreman_tasks.po +817 -0
  42. data/locale/ja/LC_MESSAGES/foreman_tasks.mo +0 -0
  43. data/locale/ja/foreman_tasks.po +817 -0
  44. data/locale/zh_CN/LC_MESSAGES/foreman_tasks.mo +0 -0
  45. data/locale/zh_CN/foreman_tasks.po +816 -0
  46. data/package.json +1 -1
  47. data/script/npm_link_foreman_js.sh +26 -0
  48. data/test/controllers/api/recurring_logics_controller_test.rb +1 -1
  49. data/test/controllers/api/tasks_controller_test.rb +17 -7
  50. data/test/controllers/tasks_controller_test.rb +6 -6
  51. data/test/core/unit/runner_test.rb +20 -20
  52. data/test/core/unit/task_launcher_test.rb +8 -8
  53. data/test/helpers/foreman_tasks/foreman_tasks_helper_test.rb +7 -7
  54. data/test/helpers/foreman_tasks/tasks_helper_test.rb +3 -3
  55. data/test/lib/actions/middleware/keep_current_request_id_test.rb +3 -3
  56. data/test/support/history_tasks_builder.rb +1 -1
  57. data/test/tasks/generate_task_actions_test.rb +1 -1
  58. data/test/unit/actions/action_with_sub_plans_test.rb +2 -2
  59. data/test/unit/actions/bulk_action_test.rb +6 -6
  60. data/test/unit/actions/proxy_action_test.rb +20 -20
  61. data/test/unit/actions/recurring_action_test.rb +30 -32
  62. data/test/unit/cleaner_test.rb +24 -24
  63. data/test/unit/dashboard_table_filter_test.rb +5 -5
  64. data/test/unit/otp_manager_test.rb +2 -2
  65. data/test/unit/proxy_selector_test.rb +9 -9
  66. data/test/unit/recurring_logic_test.rb +32 -32
  67. data/test/unit/remote_task_test.rb +2 -2
  68. data/test/unit/task_groups_test.rb +4 -4
  69. data/test/unit/task_test.rb +18 -18
  70. data/test/unit/triggering_test.rb +8 -8
  71. data/test/unit/troubleshooting_help_generator_test.rb +6 -6
  72. data/test/unit/ui_notifications_test.rb +11 -11
  73. data/webpack/ForemanTasks/Components/TaskActions/TaskAction.test.js +2 -2
  74. data/webpack/ForemanTasks/Components/TaskActions/index.js +1 -1
  75. data/webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js +17 -3
  76. data/webpack/ForemanTasks/Components/TaskDetails/Components/Task.js +8 -153
  77. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskButtons.js +168 -0
  78. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js +6 -7
  79. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskSkeleton.js +48 -0
  80. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +8 -1
  81. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js +13 -70
  82. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskButtons.test.js +95 -0
  83. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/RunningSteps.test.js.snap +1 -1
  84. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap +78 -208
  85. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskButtons.test.js.snap +212 -0
  86. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap +8 -4
  87. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js +100 -53
  88. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.scss +3 -14
  89. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js +57 -95
  90. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js +3 -12
  91. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js +57 -28
  92. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.fixtures.js +8 -0
  93. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js +8 -1
  94. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js +6 -6
  95. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap +84 -12
  96. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsActions.test.js.snap +25 -21
  97. data/webpack/ForemanTasks/Components/TaskDetails/index.js +8 -3
  98. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.scss +4 -0
  99. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.js +53 -0
  100. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.test.js +14 -0
  101. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.js +27 -19
  102. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.scss +14 -0
  103. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.test.js +1 -34
  104. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/{StoppedTasksCardHelper.js → StoppedTasksCardTable.js} +28 -1
  105. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardTable.test.js +54 -0
  106. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/OtherInfo.test.js.snap +48 -0
  107. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCard.test.js.snap +60 -1367
  108. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCardTable.test.js.snap +960 -0
  109. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/__snapshots__/TasksCardsGrid.test.js.snap +14 -11
  110. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js +1 -1
  111. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardConstants.js +2 -0
  112. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardSelectors.js +17 -11
  113. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardActions.test.js +2 -2
  114. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js +26 -14
  115. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboard.test.js.snap +14 -11
  116. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardSelectors.test.js.snap +38 -22
  117. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalSelectors.js +1 -0
  118. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalSelectors.test.js +1 -0
  119. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModalSelectors.test.js.snap +2 -0
  120. data/webpack/ForemanTasks/Components/TasksTable/TasksBulkActions.js +25 -8
  121. data/webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js +3 -3
  122. data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +6 -2
  123. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +1 -0
  124. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksBulkActions.test.js +15 -2
  125. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js +1 -0
  126. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTablePage.test.js +2 -1
  127. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap +1 -0
  128. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksBulkActions.test.js.snap +48 -0
  129. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap +1 -0
  130. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +39 -5
  131. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/actionCellFormatter.test.js.snap +1 -0
  132. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/selectionCellFormatter.test.js.snap +2 -0
  133. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/actionCellFormatter.test.js +1 -1
  134. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/selectionCellFormatter.test.js +1 -1
  135. data/webpack/ForemanTasks/Components/TasksTable/formatters/actionCellFormatter.js +10 -7
  136. data/webpack/ForemanTasks/Components/TasksTable/formatters/selectionCellFormatter.js +7 -0
  137. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js +39 -31
  138. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.test.js +17 -8
  139. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ActionButton.test.js.snap +8 -0
  140. data/webpack/ForemanTasks/Components/common/urlHelpers.js +7 -0
  141. data/webpack/ForemanTasks/ForemanTasksReducers.js +0 -2
  142. data/webpack/__mocks__/foremanReact/common/helpers.js +2 -0
  143. data/webpack/__mocks__/foremanReact/redux/API/APISelectors.js +10 -0
  144. data/webpack/__mocks__/foremanReact/redux/API/index.js +10 -0
  145. data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware.js +5 -0
  146. metadata +29 -11
  147. data/.travis.yml +0 -5
  148. data/script/travis_run_js_tests.sh +0 -7
  149. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js +0 -38
  150. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js +0 -33
  151. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsReducer.test.js.snap +0 -26
  152. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/integration.test.js.snap +0 -122
  153. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js +0 -67
  154. 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: 1.2.0
4
+ version: 3.0.1
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: 2020-06-02 00:00:00.000000000 Z
11
+ date: 2020-10-02 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
@@ -210,6 +211,7 @@ files:
210
211
  - app/views/foreman_tasks/api/recurring_logics/show.json.rabl
211
212
  - app/views/foreman_tasks/api/recurring_logics/update.json.rabl
212
213
  - app/views/foreman_tasks/api/tasks/details.json.rabl
214
+ - app/views/foreman_tasks/api/tasks/index.json.rabl
213
215
  - app/views/foreman_tasks/api/tasks/show.json.rabl
214
216
  - app/views/foreman_tasks/layouts/react.html.erb
215
217
  - app/views/foreman_tasks/recurring_logics/_tab_related.html.erb
@@ -248,6 +250,7 @@ files:
248
250
  - db/migrate/20190318153925_add_task_state_updated_at.foreman_tasks.rb
249
251
  - db/migrate/20200517215015_rename_bookmarks_controller.rb
250
252
  - db/migrate/20200519093217_drop_dynflow_allow_dangerous_actions_setting.foreman_tasks.rb
253
+ - db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb
251
254
  - db/seeds.d/20-foreman_tasks_permissions.rb
252
255
  - db/seeds.d/30-notification_blueprints.rb
253
256
  - db/seeds.d/60-dynflow_proxy_feature.rb
@@ -269,6 +272,7 @@ files:
269
272
  - lib/foreman_tasks/engine.rb
270
273
  - lib/foreman_tasks/task_error.rb
271
274
  - lib/foreman_tasks/tasks/cleanup.rake
275
+ - lib/foreman_tasks/tasks/dynflow.rake
272
276
  - lib/foreman_tasks/tasks/export_tasks.rake
273
277
  - lib/foreman_tasks/tasks/generate_task_actions.rake
274
278
  - lib/foreman_tasks/test_extensions.rb
@@ -281,9 +285,15 @@ files:
281
285
  - locale/en/LC_MESSAGES/foreman_tasks.mo
282
286
  - locale/en/foreman_tasks.po
283
287
  - locale/foreman_tasks.pot
288
+ - locale/fr/LC_MESSAGES/foreman_tasks.mo
289
+ - locale/fr/foreman_tasks.po
290
+ - locale/ja/LC_MESSAGES/foreman_tasks.mo
291
+ - locale/ja/foreman_tasks.po
292
+ - locale/zh_CN/LC_MESSAGES/foreman_tasks.mo
293
+ - locale/zh_CN/foreman_tasks.po
284
294
  - package.json
295
+ - script/npm_link_foreman_js.sh
285
296
  - script/rails
286
- - script/travis_run_js_tests.sh
287
297
  - test/controllers/api/recurring_logics_controller_test.rb
288
298
  - test/controllers/api/tasks_controller_test.rb
289
299
  - test/controllers/recurring_logics_controller_test.rb
@@ -344,13 +354,16 @@ files:
344
354
  - webpack/ForemanTasks/Components/TaskDetails/Components/Raw.js
345
355
  - webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js
346
356
  - webpack/ForemanTasks/Components/TaskDetails/Components/Task.js
357
+ - webpack/ForemanTasks/Components/TaskDetails/Components/TaskButtons.js
347
358
  - webpack/ForemanTasks/Components/TaskDetails/Components/TaskHelper.js
348
359
  - webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js
360
+ - webpack/ForemanTasks/Components/TaskDetails/Components/TaskSkeleton.js
349
361
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Errors.test.js
350
362
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Locks.test.js
351
363
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Raw.test.js
352
364
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js
353
365
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js
366
+ - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskButtons.test.js
354
367
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskHelper.test.js
355
368
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskInfo.test.js
356
369
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Errors.test.js.snap
@@ -358,23 +371,20 @@ files:
358
371
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Raw.test.js.snap
359
372
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/RunningSteps.test.js.snap
360
373
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap
374
+ - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskButtons.test.js.snap
361
375
  - webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap
362
376
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js
363
377
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetails.scss
364
378
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetails.stories.js
365
379
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js
366
380
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js
367
- - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js
368
381
  - webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js
369
382
  - webpack/ForemanTasks/Components/TaskDetails/TasksDetailsHelper.js
383
+ - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.fixtures.js
370
384
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js
371
385
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js
372
- - webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js
373
386
  - webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap
374
387
  - 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
388
  - webpack/ForemanTasks/Components/TaskDetails/index.js
379
389
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.js
380
390
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.stories.js
@@ -389,12 +399,17 @@ files:
389
399
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.stories.js
390
400
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.test.js
391
401
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/__snapshots__/ScheduledTasksCard.test.js.snap
402
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.js
403
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/OtherInfo.test.js
392
404
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.js
393
405
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.scss
394
406
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.stories.js
395
407
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.test.js
396
- - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardHelper.js
408
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardTable.js
409
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardTable.test.js
410
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/OtherInfo.test.js.snap
397
411
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCard.test.js.snap
412
+ - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCardTable.test.js.snap
398
413
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.js
399
414
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.scss
400
415
  - webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.stories.js
@@ -528,6 +543,7 @@ files:
528
543
  - webpack/ForemanTasks/Components/common/ClickConfirmation/index.js
529
544
  - webpack/ForemanTasks/Components/common/ToastsHelpers/ToastTypesConstants.js
530
545
  - webpack/ForemanTasks/Components/common/ToastsHelpers/index.js
546
+ - webpack/ForemanTasks/Components/common/urlHelpers.js
531
547
  - webpack/ForemanTasks/ForemanTasks.js
532
548
  - webpack/ForemanTasks/ForemanTasks.test.js
533
549
  - webpack/ForemanTasks/ForemanTasksReducers.js
@@ -545,7 +561,6 @@ files:
545
561
  - webpack/ForemanTasks/Routes/__snapshots__/ForemanTasksRoutes.test.js.snap
546
562
  - webpack/ForemanTasks/__snapshots__/ForemanTasks.test.js.snap
547
563
  - webpack/ForemanTasks/index.js
548
- - webpack/__mocks__/foremanReact/API.js
549
564
  - webpack/__mocks__/foremanReact/common/I18n.js
550
565
  - webpack/__mocks__/foremanReact/common/helpers.js
551
566
  - webpack/__mocks__/foremanReact/common/urlHelpers.js
@@ -561,7 +576,10 @@ files:
561
576
  - webpack/__mocks__/foremanReact/components/common/table.js
562
577
  - webpack/__mocks__/foremanReact/components/common/table/actionsHelpers/actionTypeCreator.js
563
578
  - webpack/__mocks__/foremanReact/constants.js
579
+ - webpack/__mocks__/foremanReact/redux/API/APISelectors.js
580
+ - webpack/__mocks__/foremanReact/redux/API/index.js
564
581
  - webpack/__mocks__/foremanReact/redux/actions/toasts.js
582
+ - webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware.js
565
583
  - webpack/__mocks__/foremanReact/routes/common/PageLayout/PageLayout.js
566
584
  - webpack/__mocks__/foremanReact/routes/common/PageLayout/components/ExportButton/ExportButton.js
567
585
  - webpack/index.js
@@ -1,5 +0,0 @@
1
- language: node_js
2
- node_js:
3
- - '10'
4
- - '12'
5
- script: ./script/travis_run_js_tests.sh
@@ -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
- `;