foreman-tasks 1.1.2 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -0
  3. data/README.md +2 -0
  4. data/app/controllers/foreman_tasks/api/tasks_controller.rb +33 -1
  5. data/app/controllers/foreman_tasks/tasks_controller.rb +9 -14
  6. data/app/lib/actions/proxy_action.rb +1 -1
  7. data/app/models/foreman_tasks/task.rb +4 -0
  8. data/app/models/foreman_tasks/task/dynflow_task.rb +3 -1
  9. data/app/models/setting/foreman_tasks.rb +1 -1
  10. data/app/services/ui_notifications/tasks/task_bulk_stop.rb +36 -0
  11. data/app/views/foreman_tasks/api/tasks/details.json.rabl +0 -1
  12. data/app/views/foreman_tasks/api/tasks/show.json.rabl +2 -0
  13. data/config/routes.rb +1 -0
  14. data/db/migrate/20200517215015_rename_bookmarks_controller.rb +35 -0
  15. data/db/migrate/20200519093217_drop_dynflow_allow_dangerous_actions_setting.foreman_tasks.rb +5 -0
  16. data/db/migrate/20200611090846_add_task_lock_index_on_resource_type_and_task_id.rb +3 -3
  17. data/db/seeds.d/30-notification_blueprints.rb +7 -0
  18. data/lib/foreman_tasks/engine.rb +2 -7
  19. data/lib/foreman_tasks/version.rb +1 -1
  20. data/locale/action_names.rb +1 -1
  21. data/locale/en/LC_MESSAGES/foreman_tasks.mo +0 -0
  22. data/locale/en/foreman_tasks.po +270 -54
  23. data/locale/foreman_tasks.pot +630 -292
  24. data/locale/fr/LC_MESSAGES/foreman_tasks.mo +0 -0
  25. data/locale/fr/foreman_tasks.po +817 -0
  26. data/locale/ja/LC_MESSAGES/foreman_tasks.mo +0 -0
  27. data/locale/ja/foreman_tasks.po +817 -0
  28. data/locale/zh_CN/LC_MESSAGES/foreman_tasks.mo +0 -0
  29. data/locale/zh_CN/foreman_tasks.po +816 -0
  30. data/package.json +1 -0
  31. data/script/npm_link_foreman_js.sh +26 -0
  32. data/webpack/ForemanTasks/Components/TaskActions/TaskAction.test.js +60 -0
  33. data/webpack/ForemanTasks/Components/{TasksTable/TasksTableActionHelpers.js → TaskActions/TaskActionHelpers.js} +21 -6
  34. data/webpack/ForemanTasks/Components/{TasksTable/__tests__/TasksTableActionHelpers.test.js → TaskActions/TaskActionHelpers.test.js} +2 -2
  35. data/webpack/ForemanTasks/Components/TaskActions/TaskActionsConstants.js +16 -0
  36. data/webpack/ForemanTasks/Components/TaskActions/UnlockModals.js +60 -0
  37. data/webpack/ForemanTasks/Components/TaskActions/UnlockModals.test.js +14 -0
  38. data/webpack/ForemanTasks/Components/TaskActions/__snapshots__/TaskAction.test.js.snap +233 -0
  39. data/webpack/ForemanTasks/Components/TaskActions/__snapshots__/UnlockModals.test.js.snap +25 -0
  40. data/webpack/ForemanTasks/Components/TaskActions/index.js +115 -0
  41. data/webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js +17 -3
  42. data/webpack/ForemanTasks/Components/TaskDetails/Components/Task.js +149 -167
  43. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +8 -1
  44. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js +68 -3
  45. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskInfo.test.js +0 -1
  46. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/RunningSteps.test.js.snap +1 -1
  47. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap +124 -76
  48. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js +35 -5
  49. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.scss +3 -14
  50. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js +40 -16
  51. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js +3 -4
  52. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js +0 -6
  53. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js +4 -10
  54. data/webpack/ForemanTasks/Components/TaskDetails/TasksDetailsHelper.js +6 -1
  55. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.fixtures.js +8 -0
  56. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js +7 -1
  57. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js +18 -2
  58. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap +30 -13
  59. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsActions.test.js.snap +91 -0
  60. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js +13 -4
  61. data/webpack/ForemanTasks/Components/TaskDetails/index.js +6 -8
  62. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js +1 -1
  63. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardActions.test.js +2 -2
  64. data/webpack/ForemanTasks/Components/TasksTable/Components/ActionSelectButton.js +14 -1
  65. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModal.js +83 -0
  66. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalActions.js +106 -0
  67. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalReducer.js +38 -0
  68. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalSelectors.js +46 -0
  69. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModal.test.js +36 -0
  70. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalActions.test.js +205 -0
  71. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalReducer.test.js +27 -0
  72. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalSelectors.test.js +55 -0
  73. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModal.test.js.snap +41 -0
  74. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModalReducer.test.js.snap +19 -0
  75. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModalSelectors.test.js.snap +32 -0
  76. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/index.js +29 -0
  77. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionSelectButton.test.js +1 -0
  78. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ActionSelectButton.test.js.snap +11 -0
  79. data/webpack/ForemanTasks/Components/TasksTable/TasksBulkActions.js +135 -35
  80. data/webpack/ForemanTasks/Components/TasksTable/TasksTable.js +13 -9
  81. data/webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js +26 -66
  82. data/webpack/ForemanTasks/Components/TasksTable/TasksTableConstants.js +10 -12
  83. data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +30 -96
  84. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSchema.js +2 -2
  85. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +8 -4
  86. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksBulkActions.test.js +50 -2
  87. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js +3 -12
  88. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableActions.test.js +22 -26
  89. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTablePage.test.js +2 -1
  90. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap +3 -14
  91. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksBulkActions.test.js.snap +155 -0
  92. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap +3 -14
  93. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableActions.test.js.snap +17 -124
  94. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +63 -133
  95. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/actionCellFormatter.test.js.snap +1 -0
  96. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/__snapshots__/selectionCellFormatter.test.js.snap +2 -0
  97. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/actionCellFormatter.test.js +1 -1
  98. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/selectionCellFormatter.test.js +1 -1
  99. data/webpack/ForemanTasks/Components/TasksTable/formatters/actionCellFormatter.js +10 -7
  100. data/webpack/ForemanTasks/Components/TasksTable/formatters/selectionCellFormatter.js +7 -0
  101. data/webpack/ForemanTasks/Components/TasksTable/index.js +2 -2
  102. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js +55 -19
  103. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.test.js +75 -19
  104. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ActionButton.test.js.snap +88 -21
  105. data/webpack/ForemanTasks/Components/common/ClickConfirmation/ClickConfirmation.scss +9 -0
  106. data/webpack/ForemanTasks/Components/common/ClickConfirmation/ClickConfirmation.test.js +44 -0
  107. data/webpack/ForemanTasks/Components/common/ClickConfirmation/__snapshots__/ClickConfirmation.test.js.snap +52 -0
  108. data/webpack/ForemanTasks/Components/common/ClickConfirmation/index.js +59 -66
  109. data/webpack/ForemanTasks/Components/common/{ToastTypesConstants.js → ToastsHelpers/ToastTypesConstants.js} +0 -0
  110. data/webpack/ForemanTasks/Components/common/ToastsHelpers/index.js +15 -0
  111. data/webpack/ForemanTasks/ForemanTasksReducers.js +2 -0
  112. data/webpack/ForemanTasks/Routes/ForemanTasksRoutes.test.js +2 -1
  113. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalHooks.js +2 -2
  114. data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +17 -3
  115. data/webpack/__mocks__/foremanReact/components/common/ActionButtons/ActionButtons.js +3 -0
  116. data/webpack/__mocks__/foremanReact/{API.js → redux/API.js} +1 -1
  117. metadata +41 -21
  118. data/webpack/ForemanTasks/Components/TasksTable/Components/CancelConfirm.js +0 -53
  119. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmationModals.js +0 -56
  120. data/webpack/ForemanTasks/Components/TasksTable/Components/ResumeConfirm.js +0 -52
  121. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/CancelConfirm.test.js +0 -26
  122. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ConfirmationModals.test.js +0 -24
  123. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ResumeConfirm.test.js +0 -26
  124. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/CancelConfirm.test.js.snap +0 -65
  125. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ConfirmationModals.test.js.snap +0 -30
  126. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ResumeConfirm.test.js.snap +0 -63
  127. data/webpack/ForemanTasks/Components/common/ActionButtons/CancelButton.js +0 -23
  128. data/webpack/ForemanTasks/Components/common/ActionButtons/CancelButton.test.js +0 -26
  129. data/webpack/ForemanTasks/Components/common/ActionButtons/ResumeButton.js +0 -23
  130. data/webpack/ForemanTasks/Components/common/ActionButtons/ResumeButton.test.js +0 -27
  131. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/CancelButton.test.js.snap +0 -15
  132. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ResumeButton.test.js.snap +0 -15
@@ -1,53 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { sprintf, translate as __ } from 'foremanReact/common/I18n';
4
- import { Button } from 'patternfly-react';
5
- import ForemanModal from 'foremanReact/components/ForemanModal';
6
- import {
7
- CANCEL_CONFIRM_MODAL_ID,
8
- RESUME_CONFIRM_MODAL_ID,
9
- CANCEL_SELECTED_CONFIRM_MODAL_ID,
10
- RESUME_SELECTED_CONFIRM_MODAL_ID,
11
- } from '../TasksTableConstants';
12
-
13
- export const CancelConfirm = ({ closeModal, action, selectedRowsLen, id }) => (
14
- <ForemanModal title={__('Cancel Selected Tasks')} id={id}>
15
- <ForemanModal.Header />
16
- {sprintf(
17
- __(
18
- `This will cancel %s task(s), putting them in the stopped state. Are you sure?`
19
- ),
20
- selectedRowsLen
21
- )}
22
- <ForemanModal.Footer>
23
- <Button onClick={closeModal}>{__('No')}</Button>
24
- <Button
25
- bsStyle="primary"
26
- onClick={() => {
27
- action();
28
- closeModal();
29
- }}
30
- >
31
- {__('Yes')}
32
- </Button>
33
- </ForemanModal.Footer>
34
- </ForemanModal>
35
- );
36
-
37
- CancelConfirm.propTypes = {
38
- closeModal: PropTypes.func.isRequired,
39
- selectedRowsLen: PropTypes.number.isRequired,
40
- action: PropTypes.func,
41
- id: PropTypes.oneOf([
42
- CANCEL_CONFIRM_MODAL_ID,
43
- RESUME_CONFIRM_MODAL_ID,
44
- CANCEL_SELECTED_CONFIRM_MODAL_ID,
45
- RESUME_SELECTED_CONFIRM_MODAL_ID,
46
- ]).isRequired,
47
- };
48
-
49
- CancelConfirm.defaultProps = {
50
- action: () => null,
51
- };
52
-
53
- export default CancelConfirm;
@@ -1,56 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import {
4
- CANCEL_CONFIRM_MODAL_ID,
5
- RESUME_CONFIRM_MODAL_ID,
6
- CANCEL_SELECTED_CONFIRM_MODAL_ID,
7
- RESUME_SELECTED_CONFIRM_MODAL_ID,
8
- } from '../TasksTableConstants';
9
- import { CancelConfirm } from './CancelConfirm';
10
- import { ResumeConfirm } from './ResumeConfirm';
11
-
12
- export const ConfirmationModals = ({
13
- modalProps,
14
- tasksActions,
15
- selectedRowsLen,
16
- }) => (
17
- <React.Fragment>
18
- <CancelConfirm
19
- closeModal={modalProps.cancelModal.setModalClosed}
20
- action={tasksActions.cancelTask}
21
- selectedRowsLen={1}
22
- id={CANCEL_CONFIRM_MODAL_ID}
23
- />
24
- <ResumeConfirm
25
- closeModal={modalProps.resumeModal.setModalClosed}
26
- action={tasksActions.resumeTask}
27
- selectedRowsLen={1}
28
- id={RESUME_CONFIRM_MODAL_ID}
29
- />
30
- <CancelConfirm
31
- closeModal={modalProps.cancelSelectedModal.setModalClosed}
32
- action={tasksActions.cancelSelectedTasks}
33
- selectedRowsLen={selectedRowsLen}
34
- id={CANCEL_SELECTED_CONFIRM_MODAL_ID}
35
- />
36
- <ResumeConfirm
37
- closeModal={modalProps.resumeSelectedModal.setModalClosed}
38
- action={tasksActions.resumeSelectedTasks}
39
- selectedRowsLen={selectedRowsLen}
40
- id={RESUME_SELECTED_CONFIRM_MODAL_ID}
41
- />
42
- </React.Fragment>
43
- );
44
-
45
- ConfirmationModals.propTypes = {
46
- modalProps: PropTypes.object.isRequired,
47
- selectedRowsLen: PropTypes.number.isRequired,
48
- tasksActions: PropTypes.shape({
49
- cancelTask: PropTypes.func,
50
- resumeTask: PropTypes.func,
51
- cancelSelectedTasks: PropTypes.func,
52
- resumeSelectedTasks: PropTypes.func,
53
- }).isRequired,
54
- };
55
-
56
- export default ConfirmationModals;
@@ -1,52 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { sprintf, translate as __ } from 'foremanReact/common/I18n';
4
- import { Button } from 'patternfly-react';
5
- import ForemanModal from 'foremanReact/components/ForemanModal';
6
- import {
7
- CANCEL_CONFIRM_MODAL_ID,
8
- RESUME_CONFIRM_MODAL_ID,
9
- CANCEL_SELECTED_CONFIRM_MODAL_ID,
10
- RESUME_SELECTED_CONFIRM_MODAL_ID,
11
- } from '../TasksTableConstants';
12
-
13
- export const ResumeConfirm = ({ closeModal, action, selectedRowsLen, id }) => (
14
- <ForemanModal title={__('Resume Selected Tasks')} id={id}>
15
- {sprintf(
16
- __(
17
- `This will resume %s task(s), putting them in the running state. Are you sure?`
18
- ),
19
- selectedRowsLen
20
- )}
21
- <ForemanModal.Footer>
22
- <Button onClick={closeModal}>{__('No')}</Button>
23
- <Button
24
- bsStyle="primary"
25
- onClick={() => {
26
- action();
27
- closeModal();
28
- }}
29
- >
30
- {__('Yes')}
31
- </Button>
32
- </ForemanModal.Footer>
33
- </ForemanModal>
34
- );
35
-
36
- ResumeConfirm.propTypes = {
37
- closeModal: PropTypes.func.isRequired,
38
- selectedRowsLen: PropTypes.number.isRequired,
39
- action: PropTypes.func,
40
- id: PropTypes.oneOf([
41
- CANCEL_CONFIRM_MODAL_ID,
42
- RESUME_CONFIRM_MODAL_ID,
43
- CANCEL_SELECTED_CONFIRM_MODAL_ID,
44
- RESUME_SELECTED_CONFIRM_MODAL_ID,
45
- ]).isRequired,
46
- };
47
-
48
- ResumeConfirm.defaultProps = {
49
- action: () => null,
50
- };
51
-
52
- export default ResumeConfirm;
@@ -1,26 +0,0 @@
1
- import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
-
3
- import { CancelConfirm } from '../CancelConfirm';
4
- import {
5
- CANCEL_CONFIRM_MODAL_ID,
6
- CANCEL_SELECTED_CONFIRM_MODAL_ID,
7
- } from '../../TasksTableConstants';
8
-
9
- const baseProps = {
10
- closeModal: () => null,
11
- selectedRowsLen: 1,
12
- action: () => null,
13
- };
14
- const fixtures = {
15
- 'renders CANCEL modal': {
16
- ...baseProps,
17
- id: CANCEL_CONFIRM_MODAL_ID,
18
- },
19
- 'renders CANCEL_SELECTED modal': {
20
- ...baseProps,
21
- id: CANCEL_SELECTED_CONFIRM_MODAL_ID,
22
- },
23
- };
24
-
25
- describe('CancelConfirm', () =>
26
- testComponentSnapshotsWithFixtures(CancelConfirm, fixtures));
@@ -1,24 +0,0 @@
1
- import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
-
3
- import { ConfirmationModals } from '../ConfirmationModals';
4
-
5
- const fixtures = {
6
- 'renders ConfirmationModals': {
7
- modalProps: {
8
- cancelSelectedModal: { setModalClosed: jest.fn() },
9
- resumeSelectedModal: { setModalClosed: jest.fn() },
10
- cancelModal: { setModalClosed: jest.fn() },
11
- resumeModal: { setModalClosed: jest.fn() },
12
- },
13
- selectedRowsLen: 7,
14
- tasksActions: {
15
- cancelTask: jest.fn(),
16
- resumeTask: jest.fn(),
17
- cancelSelectedTasks: jest.fn(),
18
- resumeSelectedTasks: jest.fn(),
19
- },
20
- },
21
- };
22
-
23
- describe('ConfirmationModals', () =>
24
- testComponentSnapshotsWithFixtures(ConfirmationModals, fixtures));
@@ -1,26 +0,0 @@
1
- import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
-
3
- import { ResumeConfirm } from '../ResumeConfirm';
4
- import {
5
- RESUME_CONFIRM_MODAL_ID,
6
- RESUME_SELECTED_CONFIRM_MODAL_ID,
7
- } from '../../TasksTableConstants';
8
-
9
- const baseProps = {
10
- closeModal: () => null,
11
- selectedRowsLen: 3,
12
- action: () => null,
13
- };
14
- const fixtures = {
15
- 'renders RESUME modal': {
16
- ...baseProps,
17
- id: RESUME_CONFIRM_MODAL_ID,
18
- },
19
- 'renders RESUME_SELECTED modal': {
20
- ...baseProps,
21
- id: RESUME_SELECTED_CONFIRM_MODAL_ID,
22
- },
23
- };
24
-
25
- describe('ResumeConfirm', () =>
26
- testComponentSnapshotsWithFixtures(ResumeConfirm, fixtures));
@@ -1,65 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`CancelConfirm renders CANCEL modal 1`] = `
4
- <ForemanModal
5
- id="cancelConfirmModal"
6
- title="Cancel Selected Tasks"
7
- >
8
- <Component />
9
- This will cancel 1 task(s), putting them in the stopped state. Are you sure?
10
- <Component>
11
- <Button
12
- active={false}
13
- block={false}
14
- bsClass="btn"
15
- bsStyle="default"
16
- disabled={false}
17
- onClick={[Function]}
18
- >
19
- No
20
- </Button>
21
- <Button
22
- active={false}
23
- block={false}
24
- bsClass="btn"
25
- bsStyle="primary"
26
- disabled={false}
27
- onClick={[Function]}
28
- >
29
- Yes
30
- </Button>
31
- </Component>
32
- </ForemanModal>
33
- `;
34
-
35
- exports[`CancelConfirm renders CANCEL_SELECTED modal 1`] = `
36
- <ForemanModal
37
- id="cancelSelectedConfirmModal"
38
- title="Cancel Selected Tasks"
39
- >
40
- <Component />
41
- This will cancel 1 task(s), putting them in the stopped state. Are you sure?
42
- <Component>
43
- <Button
44
- active={false}
45
- block={false}
46
- bsClass="btn"
47
- bsStyle="default"
48
- disabled={false}
49
- onClick={[Function]}
50
- >
51
- No
52
- </Button>
53
- <Button
54
- active={false}
55
- block={false}
56
- bsClass="btn"
57
- bsStyle="primary"
58
- disabled={false}
59
- onClick={[Function]}
60
- >
61
- Yes
62
- </Button>
63
- </Component>
64
- </ForemanModal>
65
- `;
@@ -1,30 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`ConfirmationModals renders ConfirmationModals 1`] = `
4
- <Fragment>
5
- <CancelConfirm
6
- action={[MockFunction]}
7
- closeModal={[MockFunction]}
8
- id="cancelConfirmModal"
9
- selectedRowsLen={1}
10
- />
11
- <ResumeConfirm
12
- action={[MockFunction]}
13
- closeModal={[MockFunction]}
14
- id="resumeConfirmModal"
15
- selectedRowsLen={1}
16
- />
17
- <CancelConfirm
18
- action={[MockFunction]}
19
- closeModal={[MockFunction]}
20
- id="cancelSelectedConfirmModal"
21
- selectedRowsLen={7}
22
- />
23
- <ResumeConfirm
24
- action={[MockFunction]}
25
- closeModal={[MockFunction]}
26
- id="resumeSelectedConfirmModal"
27
- selectedRowsLen={7}
28
- />
29
- </Fragment>
30
- `;
@@ -1,63 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`ResumeConfirm renders RESUME modal 1`] = `
4
- <ForemanModal
5
- id="resumeConfirmModal"
6
- title="Resume Selected Tasks"
7
- >
8
- This will resume 3 task(s), putting them in the running state. Are you sure?
9
- <Component>
10
- <Button
11
- active={false}
12
- block={false}
13
- bsClass="btn"
14
- bsStyle="default"
15
- disabled={false}
16
- onClick={[Function]}
17
- >
18
- No
19
- </Button>
20
- <Button
21
- active={false}
22
- block={false}
23
- bsClass="btn"
24
- bsStyle="primary"
25
- disabled={false}
26
- onClick={[Function]}
27
- >
28
- Yes
29
- </Button>
30
- </Component>
31
- </ForemanModal>
32
- `;
33
-
34
- exports[`ResumeConfirm renders RESUME_SELECTED modal 1`] = `
35
- <ForemanModal
36
- id="resumeSelectedConfirmModal"
37
- title="Resume Selected Tasks"
38
- >
39
- This will resume 3 task(s), putting them in the running state. Are you sure?
40
- <Component>
41
- <Button
42
- active={false}
43
- block={false}
44
- bsClass="btn"
45
- bsStyle="default"
46
- disabled={false}
47
- onClick={[Function]}
48
- >
49
- No
50
- </Button>
51
- <Button
52
- active={false}
53
- block={false}
54
- bsClass="btn"
55
- bsStyle="primary"
56
- disabled={false}
57
- onClick={[Function]}
58
- >
59
- Yes
60
- </Button>
61
- </Component>
62
- </ForemanModal>
63
- `;
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { Button } from 'patternfly-react';
3
- import PropTypes from 'prop-types';
4
- import { translate as __ } from 'foremanReact/common/I18n';
5
- import { noop } from 'foremanReact/common/helpers';
6
-
7
- export const CancelButton = ({ id, name, disabled, onClick }) => (
8
- <Button bsSize="small" onClick={() => onClick(id, name)} disabled={disabled}>
9
- {__('Cancel')}
10
- </Button>
11
- );
12
-
13
- CancelButton.propTypes = {
14
- id: PropTypes.string.isRequired,
15
- name: PropTypes.string.isRequired,
16
- disabled: PropTypes.bool,
17
- onClick: PropTypes.func,
18
- };
19
-
20
- CancelButton.defaultProps = {
21
- disabled: false,
22
- onClick: noop,
23
- };
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { testComponentSnapshotsWithFixtures, shallow } from '@theforeman/test';
3
- import { CancelButton } from './CancelButton';
4
-
5
- const fixtures = {
6
- 'render with minimal props': {
7
- id: 'some-id',
8
- name: 'some-name',
9
- },
10
- };
11
-
12
- describe('CancelButton', () => {
13
- describe('rendering', () =>
14
- testComponentSnapshotsWithFixtures(CancelButton, fixtures));
15
- describe('should use id and name on click', () => {
16
- const onClick = jest.fn();
17
- const id = 'some-id';
18
- const name = 'some-name';
19
- const component = shallow(
20
- <CancelButton id={id} name={name} onClick={onClick} />
21
- );
22
- component.find('Button').simulate('click');
23
-
24
- expect(onClick).toHaveBeenCalledWith(id, name);
25
- });
26
- });