katello 3.15.0.rc1.3 → 3.15.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/v2/api_controller.rb +5 -0
  3. data/app/controllers/katello/api/v2/host_packages_controller.rb +1 -0
  4. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +1 -1
  5. data/app/lib/actions/katello/content_view/destroy.rb +1 -0
  6. data/app/lib/actions/katello/host/erratum/applicable_errata_install.rb +1 -1
  7. data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +26 -0
  8. data/app/lib/actions/pulp3/orchestration/repository/delete.rb +8 -1
  9. data/app/lib/actions/pulp3/repository/delete_version.rb +20 -0
  10. data/app/lib/katello/concerns/base_template_scope_extensions.rb +23 -1
  11. data/app/lib/katello/errors.rb +2 -0
  12. data/app/models/katello/repository.rb +44 -9
  13. data/app/models/setting/content.rb +8 -2
  14. data/app/services/katello/pulp3/migration.rb +19 -4
  15. data/app/services/katello/pulp3/repository.rb +4 -0
  16. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +13 -0
  17. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +4 -2
  18. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +11 -8
  19. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/katello-agent-notice.html +8 -0
  20. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +2 -0
  21. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -0
  22. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +2 -0
  23. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +1 -0
  24. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +2 -1
  25. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +4 -2
  26. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +10 -1
  27. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +6 -3
  28. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html +4 -2
  29. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-client.html +9 -1
  30. data/lib/katello/tasks/pulp3_content_switchover.rake +2 -1
  31. data/lib/katello/version.rb +1 -1
  32. data/webpack/__mocks__/foremanReact/redux/API.js +6 -0
  33. data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware/IntervalSelectors.js +6 -0
  34. data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware/index.js +11 -0
  35. data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryReducer.js +0 -12
  36. data/webpack/scenes/Subscriptions/Manifest/index.js +0 -1
  37. data/webpack/scenes/Subscriptions/SubscriptionActions.js +49 -10
  38. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +10 -5
  39. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +37 -43
  40. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +55 -131
  41. data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +2 -5
  42. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +1 -1
  43. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +75 -8
  44. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +35 -8
  45. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +58 -46
  46. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsSelectors.test.js +3 -5
  47. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +85 -9
  48. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +0 -2
  49. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +111 -124
  50. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsSelectors.test.js.snap +2 -12
  51. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +2 -8
  52. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +1 -16
  53. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +1 -6
  54. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +0 -25
  55. data/webpack/scenes/Subscriptions/index.js +2 -5
  56. data/webpack/scenes/Tasks/TaskActions.js +34 -104
  57. data/webpack/scenes/Tasks/TaskSelectors.js +7 -0
  58. data/webpack/scenes/Tasks/__tests__/TaskActions.test.js +17 -154
  59. data/webpack/scenes/Tasks/__tests__/TaskSelectors.test.js +21 -0
  60. data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +57 -0
  61. data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskSelectors.test.js.snap +9 -0
  62. data/webpack/scenes/Tasks/__tests__/task.fixtures.js +0 -82
  63. data/webpack/scenes/Tasks/helpers.js +13 -6
  64. metadata +12 -3
  65. data/webpack/scenes/Tasks/TaskConstants.js +0 -9
@@ -15,9 +15,17 @@ const loadTables = () => new Promise((resolve) => {
15
15
  resolve();
16
16
  });
17
17
 
18
+ const pollTasks = jest.fn();
19
+ const handleTask = jest.fn();
20
+
21
+ afterEach(() => {
22
+ pollTasks.mockClear();
23
+ handleTask.mockClear();
24
+ });
25
+
18
26
  describe('subscriptions page', () => {
19
27
  const noop = () => {};
20
- const organization = { owner_details: { upstreamConsumer: 'blah' } };
28
+ const organization = { owner_details: { upstreamConsumer: {} } };
21
29
  const page = shallow(<SubscriptionsPage
22
30
  setModalOpen={noop}
23
31
  setModalClosed={noop}
@@ -31,8 +39,11 @@ describe('subscriptions page', () => {
31
39
  updateColumns={updateColumns}
32
40
  loadSubscriptions={loadSubscriptions}
33
41
  updateQuantity={updateQuantity}
42
+ handleTask={handleTask}
34
43
  pollTaskUntilDone={noop}
35
44
  pollBulkSearch={noop}
45
+ pollTasks={pollTasks}
46
+ cancelPollTasks={noop}
36
47
  deleteSubscriptions={() => {}}
37
48
  resetTasks={noop}
38
49
  uploadManifest={noop}
@@ -43,8 +54,6 @@ describe('subscriptions page', () => {
43
54
  closeManageManifestModal={noop}
44
55
  openDeleteModal={noop}
45
56
  closeDeleteModal={noop}
46
- openTaskModal={noop}
47
- closeTaskModal={noop}
48
57
  disableDeleteButton={noop}
49
58
  enableDeleteButton={noop}
50
59
  />);
@@ -62,8 +71,11 @@ describe('subscriptions page', () => {
62
71
  updateColumns={updateColumns}
63
72
  loadSubscriptions={loadSubscriptions}
64
73
  updateQuantity={updateQuantity}
74
+ handleTask={handleTask}
65
75
  pollTaskUntilDone={noop}
66
76
  pollBulkSearch={noop}
77
+ pollTasks={pollTasks}
78
+ cancelPollTasks={noop}
67
79
  deleteSubscriptions={() => {}}
68
80
  resetTasks={noop}
69
81
  uploadManifest={noop}
@@ -74,8 +86,6 @@ describe('subscriptions page', () => {
74
86
  closeManageManifestModal={noop}
75
87
  openDeleteModal={noop}
76
88
  closeDeleteModal={noop}
77
- openTaskModal={noop}
78
- closeTaskModal={noop}
79
89
  disableDeleteButton={noop}
80
90
  enableDeleteButton={noop}
81
91
  />);
@@ -89,10 +99,27 @@ describe('subscriptions page', () => {
89
99
  });
90
100
 
91
101
  it('should poll tasks when org changes', async () => {
92
- jest.spyOn(page.instance(), 'pollTasks');
93
-
94
102
  page.setProps({ organization: { id: 1 } });
95
103
 
96
- expect(page.instance().pollTasks).toHaveBeenCalled();
104
+ expect(pollTasks).toHaveBeenCalled();
105
+ });
106
+
107
+ it('should not poll tasks if org has not changed', async () => {
108
+ page.setProps({ simpleContentAccess: true });
109
+
110
+ expect(pollTasks).not.toHaveBeenCalled();
111
+ });
112
+
113
+ it('should handle its task', async () => {
114
+ const mockTask = {
115
+ id: '12345',
116
+ humanized: {
117
+ action: 'Manifest Refresh',
118
+ },
119
+ };
120
+
121
+ page.setProps({ task: mockTask });
122
+
123
+ expect(handleTask).toHaveBeenCalledWith(mockTask);
97
124
  });
98
125
  });
@@ -10,26 +10,43 @@ import {
10
10
  SUBSCRIPTIONS_QUANTITIES_REQUEST,
11
11
  SUBSCRIPTIONS_QUANTITIES_SUCCESS,
12
12
  SUBSCRIPTIONS_QUANTITIES_FAILURE,
13
- UPDATE_QUANTITY_REQUEST,
14
13
  UPDATE_QUANTITY_SUCCESS,
15
- UPDATE_QUANTITY_FAILURE,
16
- DELETE_SUBSCRIPTIONS_REQUEST,
17
14
  DELETE_SUBSCRIPTIONS_SUCCESS,
18
- DELETE_SUBSCRIPTIONS_FAILURE,
19
15
  SUBSCRIPTIONS_UPDATE_SEARCH_QUERY,
20
16
  SUBSCRIPTIONS_OPEN_DELETE_MODAL,
21
17
  SUBSCRIPTIONS_CLOSE_DELETE_MODAL,
22
- SUBSCRIPTIONS_OPEN_TASK_MODAL,
23
- SUBSCRIPTIONS_CLOSE_TASK_MODAL,
24
18
  SUBSCRIPTIONS_DISABLE_DELETE_BUTTON,
25
19
  SUBSCRIPTIONS_ENABLE_DELETE_BUTTON,
26
- TASK_BULK_SEARCH_SUCCESS,
27
- GET_TASK_SUCCESS,
28
- RESET_TASKS,
20
+ SUBSCRIPTIONS_RESET_TASKS,
21
+ SUBSCRIPTIONS_TASK_SEARCH_SUCCESS,
22
+ SUBSCRIPTIONS_TASK_SEARCH_FAILURE,
23
+ SUBSCRIPTIONS_POLL_TASK_SUCCESS,
24
+ SUBSCRIPTIONS_POLL_TASK_FAILURE,
29
25
  } from '../SubscriptionConstants';
30
26
  import reducer from '../SubscriptionReducer';
31
27
 
28
+ import {
29
+ DELETE_MANIFEST_SUCCESS,
30
+ UPLOAD_MANIFEST_SUCCESS,
31
+ REFRESH_MANIFEST_SUCCESS,
32
+ } from '../Manifest/ManifestConstants';
33
+
32
34
  jest.mock('foremanReact/components/Settings/SettingsConstants');
35
+
36
+ const mockTask = {
37
+ id: '12345',
38
+ humanized: {
39
+ action: 'ManifestRefresh',
40
+ },
41
+ };
42
+
43
+ const anotherMockTask = {
44
+ id: '54321',
45
+ humanized: {
46
+ action: 'ManifestDelete',
47
+ },
48
+ };
49
+
33
50
  const fixtures = {
34
51
  'should return the initial state': {},
35
52
  'should handle SUBSCRIPTIONS_REQUEST': {
@@ -37,16 +54,6 @@ const fixtures = {
37
54
  type: SUBSCRIPTIONS_REQUEST,
38
55
  },
39
56
  },
40
- 'should handle UPDATE_QUANTITY_REQUEST': {
41
- action: {
42
- type: UPDATE_QUANTITY_REQUEST,
43
- },
44
- },
45
- 'should handle DELETE_SUBSCRIPTIONS_REQUEST': {
46
- action: {
47
- type: DELETE_SUBSCRIPTIONS_REQUEST,
48
- },
49
- },
50
57
  'should handle SUBSCRIPTIONS_COLUMNS_REQUEST': {
51
58
  action: {
52
59
  type: SUBSCRIPTIONS_COLUMNS_REQUEST,
@@ -78,11 +85,13 @@ const fixtures = {
78
85
  'should handle DELETE_SUBSCRIPTIONS_SUCCESS': {
79
86
  action: {
80
87
  type: DELETE_SUBSCRIPTIONS_SUCCESS,
88
+ response: mockTask,
81
89
  },
82
90
  },
83
91
  'should handle UPDATE_QUANTITY_SUCCESS': {
84
92
  action: {
85
93
  type: UPDATE_QUANTITY_SUCCESS,
94
+ response: mockTask,
86
95
  },
87
96
  },
88
97
  'should handle SUBSCRIPTIONS_FAILURE': {
@@ -90,14 +99,22 @@ const fixtures = {
90
99
  type: SUBSCRIPTIONS_FAILURE,
91
100
  },
92
101
  },
93
- 'should handle UPDATE_QUANTITY_FAILURE': {
102
+ 'should handle DELETE_MANIFEST_SUCCESS': {
103
+ action: {
104
+ type: DELETE_MANIFEST_SUCCESS,
105
+ response: mockTask,
106
+ },
107
+ },
108
+ 'should handle REFRESH_MANIFEST_SUCCESS': {
94
109
  action: {
95
- type: UPDATE_QUANTITY_FAILURE,
110
+ type: REFRESH_MANIFEST_SUCCESS,
111
+ response: mockTask,
96
112
  },
97
113
  },
98
- 'should handle DELETE_SUBSCRIPTIONS_FAILURE': {
114
+ 'should handle UPLOAD_MANIFEST_SUCCESS': {
99
115
  action: {
100
- type: DELETE_SUBSCRIPTIONS_FAILURE,
116
+ type: UPLOAD_MANIFEST_SUCCESS,
117
+ response: mockTask,
101
118
  },
102
119
  },
103
120
  'should handle SUBSCRIPTIONS_QUANTITIES_REQUEST': {
@@ -132,16 +149,6 @@ const fixtures = {
132
149
  type: SUBSCRIPTIONS_CLOSE_DELETE_MODAL,
133
150
  },
134
151
  },
135
- 'should handle SUBSCRIPTIONS_OPEN_TASK_MODAL': {
136
- action: {
137
- type: SUBSCRIPTIONS_OPEN_TASK_MODAL,
138
- },
139
- },
140
- 'should handle SUBSCRIPTIONS_CLOSE_TASK_MODAL': {
141
- action: {
142
- type: SUBSCRIPTIONS_CLOSE_TASK_MODAL,
143
- },
144
- },
145
152
  'should handle SUBSCRIPTIONS_DISABLE_DELETE_BUTTON': {
146
153
  action: {
147
154
  type: SUBSCRIPTIONS_DISABLE_DELETE_BUTTON,
@@ -170,28 +177,33 @@ const fixtures = {
170
177
  },
171
178
  },
172
179
  },
173
- 'should handle TASK_BULK_SEARCH_SUCCESS': {
180
+ 'should handle SUBSCRIPTIONS_RESET_TASKS': {
174
181
  action: {
175
- type: TASK_BULK_SEARCH_SUCCESS,
176
- response: {
177
- results: ['result1', 'result2'],
178
- },
182
+ type: SUBSCRIPTIONS_RESET_TASKS,
179
183
  },
180
184
  },
181
- 'should handle GET_TASK_SUCCESS': {
185
+ 'should handle SUBSCRIPTIONS_TASK_SEARCH_SUCCESS': {
182
186
  action: {
183
- type: GET_TASK_SUCCESS,
187
+ type: SUBSCRIPTIONS_TASK_SEARCH_SUCCESS,
184
188
  response: {
185
- results: 'some-result',
189
+ results: [mockTask, anotherMockTask],
186
190
  },
187
191
  },
188
192
  },
189
- 'should handle RESET_TASKS': {
193
+ 'should handle SUBSCRIPTIONS_TASK_SEARCH_FAILURE': {
190
194
  action: {
191
- type: RESET_TASKS,
192
- response: {
193
- results: 'some-result',
194
- },
195
+ type: SUBSCRIPTIONS_TASK_SEARCH_FAILURE,
196
+ },
197
+ },
198
+ 'should handle SUBSCRIPTIONS_POLL_TASK_SUCCESS': {
199
+ action: {
200
+ type: SUBSCRIPTIONS_POLL_TASK_SUCCESS,
201
+ response: mockTask,
202
+ },
203
+ },
204
+ 'should handle SUBSCRIPTIONS_POLL_TASK_FAILURE': {
205
+ action: {
206
+ type: SUBSCRIPTIONS_POLL_TASK_FAILURE,
195
207
  },
196
208
  },
197
209
  };
@@ -4,8 +4,7 @@ import {
4
4
  selectSearchQuery,
5
5
  selectDeleteModalOpened,
6
6
  selectDeleteButtonDisabled,
7
- selectSubscriptionsTasks,
8
- selectTaskModalOpened,
7
+ selectSubscriptionsTask,
9
8
  } from '../SubscriptionsSelectors';
10
9
 
11
10
  const state = {
@@ -15,7 +14,7 @@ const state = {
15
14
  deleteModalOpened: false,
16
15
  taskModalOpened: false,
17
16
  deleteButtonDisabled: true,
18
- tasks: ['task1', 'task2'],
17
+ task: {},
19
18
  },
20
19
  },
21
20
  };
@@ -24,9 +23,8 @@ const fixtures = {
24
23
  'should select the subscriptions state': () => selectSubscriptionsState(state),
25
24
  'should select search-query': () => selectSearchQuery(state),
26
25
  'should select delete-modal-opened': () => selectDeleteModalOpened(state),
27
- 'should select task-modal-opened': () => selectTaskModalOpened(state),
28
26
  'should select delete-button-disabled': () => selectDeleteButtonDisabled(state),
29
- 'should select subscriptions tasks': () => selectSubscriptionsTasks(state),
27
+ 'should select subscriptions task': () => selectSubscriptionsTask(state),
30
28
  };
31
29
 
32
30
  describe('Subscriptions selectors', () => testSelectorsSnapshotWithFixtures(fixtures));
@@ -1,5 +1,16 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`subscription actions cancelPollTasks cancels the tasks search 1`] = `
4
+ Array [
5
+ Object {
6
+ "key": "SUBSCRIPTIONS_TASK_SEARCH",
7
+ "type": "STOP_INTERVAL",
8
+ },
9
+ ]
10
+ `;
11
+
12
+ exports[`subscription actions cancelPollTasks does nothing if not already polling 1`] = `Array []`;
13
+
3
14
  exports[`subscription actions deleteButtonDisabled it should disable the delete button 1`] = `
4
15
  Object {
5
16
  "type": "SUBSCRIPTIONS_DISABLE_DELETE_BUTTON",
@@ -24,21 +35,86 @@ Object {
24
35
  }
25
36
  `;
26
37
 
27
- exports[`subscription actions searchQuery it should update the search-query 1`] = `
28
- Object {
29
- "payload": "some-query",
30
- "type": "SUBSCRIPTIONS_UPDATE_SEARCH_QUERY",
31
- }
38
+ exports[`subscription actions handleTask does nothing if already polling and task is pending 1`] = `Array []`;
39
+
40
+ exports[`subscription actions handleTask handles a finished task 1`] = `
41
+ Array [
42
+ Object {
43
+ "key": "SUBSCRIPTIONS_POLL_TASK",
44
+ "type": "STOP_INTERVAL",
45
+ },
46
+ Object {
47
+ "payload": Object {
48
+ "message": Object {
49
+ "link": Object {
50
+ "children": "Go to task page",
51
+ "href": "/foreman_tasks/tasks/eb1b6271-8a69-4d98-84fc-bea06ddcc166/",
52
+ },
53
+ "message": "Task Refresh Manifest completed with a result of pending.
54
+ ",
55
+ "type": "pending",
56
+ },
57
+ },
58
+ "type": "TOASTS_ADD",
59
+ },
60
+ Object {
61
+ "type": "SUBSCRIPTIONS_RESET_TASKS",
62
+ },
63
+ Object {
64
+ "interval": 1000,
65
+ "key": "SUBSCRIPTIONS_TASK_SEARCH",
66
+ "params": Object {
67
+ "search": "organization_id=1 and result=pending and label=Actions::Katello::Organization::ManifestImport or Actions::Katello::Organization::ManifestRefresh or Actions::Katello::Organization::ManifestDelete or Actions::Katello::UpstreamSubscriptions::BindEntitlements or Actions::Katello::UpstreamSubscriptions::UpdateEntitlement or Actions::Katello::UpstreamSubscriptions::RemoveEntitlements or Actions::Katello::UpstreamSubscriptions::UpdateEntitlements",
68
+ },
69
+ "type": "API_GET",
70
+ "url": "/foreman_tasks/api/tasks",
71
+ },
72
+ Object {
73
+ "type": "SUBSCRIPTIONS_REQUEST",
74
+ },
75
+ ]
76
+ `;
77
+
78
+ exports[`subscription actions handleTask when not polling a task starts polling the task 1`] = `
79
+ Array [
80
+ Object {
81
+ "key": "SUBSCRIPTIONS_TASK_SEARCH",
82
+ "type": "STOP_INTERVAL",
83
+ },
84
+ Object {
85
+ "interval": 1000,
86
+ "key": "SUBSCRIPTIONS_POLL_TASK",
87
+ "type": "API_GET",
88
+ "url": "/foreman_tasks/api/tasks/eb1b6271-8a69-4d98-84fc-bea06ddcc166",
89
+ },
90
+ ]
32
91
  `;
33
92
 
34
- exports[`subscription actions taskModal it should close task modal 1`] = `
93
+ exports[`subscription actions pollTasks can search tasks 1`] = `
35
94
  Object {
36
- "type": "SUBSCRIPTIONS_CLOSE_TASK_MODAL",
95
+ "interval": 1000,
96
+ "key": "SUBSCRIPTIONS_TASK_SEARCH",
97
+ "params": Object {
98
+ "search": "organization_id=1 and result=pending and label=Actions::Katello::Organization::ManifestImport or Actions::Katello::Organization::ManifestRefresh or Actions::Katello::Organization::ManifestDelete or Actions::Katello::UpstreamSubscriptions::BindEntitlements or Actions::Katello::UpstreamSubscriptions::UpdateEntitlement or Actions::Katello::UpstreamSubscriptions::RemoveEntitlements or Actions::Katello::UpstreamSubscriptions::UpdateEntitlements",
99
+ },
100
+ "type": "API_GET",
101
+ "url": "/foreman_tasks/api/tasks",
37
102
  }
38
103
  `;
39
104
 
40
- exports[`subscription actions taskModal it should open task modal 1`] = `
105
+ exports[`subscription actions resetTasks resets the task state 1`] = `
106
+ Array [
107
+ Array [
108
+ Object {
109
+ "type": "SUBSCRIPTIONS_RESET_TASKS",
110
+ },
111
+ ],
112
+ ]
113
+ `;
114
+
115
+ exports[`subscription actions searchQuery it should update the search-query 1`] = `
41
116
  Object {
42
- "type": "SUBSCRIPTIONS_OPEN_TASK_MODAL",
117
+ "payload": "some-query",
118
+ "type": "SUBSCRIPTIONS_UPDATE_SEARCH_QUERY",
43
119
  }
44
120
  `;
@@ -144,11 +144,9 @@ exports[`subscriptions page should render 1`] = `
144
144
  "searchIsActive": false,
145
145
  "selectedTableColumns": Array [],
146
146
  "tableColumns": Array [],
147
- "tasks": Array [],
148
147
  }
149
148
  }
150
149
  tableColumns={Array []}
151
- task={null}
152
150
  toggleDeleteButton={[Function]}
153
151
  updateQuantity={[Function]}
154
152
  />
@@ -1,28 +1,6 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`Subscriptions reducer should handle DELETE_SUBSCRIPTIONS_FAILURE 1`] = `
4
- Object {
5
- "availableQuantities": null,
6
- "deleteButtonDisabled": true,
7
- "deleteModalOpened": false,
8
- "disconnected": false,
9
- "itemCount": 0,
10
- "loading": false,
11
- "pagination": Object {
12
- "page": 0,
13
- "perPage": 20,
14
- },
15
- "quantitiesLoading": false,
16
- "results": Array [],
17
- "searchQuery": "",
18
- "selectedTableColumns": Array [],
19
- "tableColumns": Array [],
20
- "taskModalOpened": false,
21
- "tasks": Array [],
22
- }
23
- `;
24
-
25
- exports[`Subscriptions reducer should handle DELETE_SUBSCRIPTIONS_REQUEST 1`] = `
3
+ exports[`Subscriptions reducer should handle DELETE_MANIFEST_SUCCESS 1`] = `
26
4
  Object {
27
5
  "availableQuantities": null,
28
6
  "deleteButtonDisabled": true,
@@ -39,8 +17,12 @@ Object {
39
17
  "searchQuery": "",
40
18
  "selectedTableColumns": Array [],
41
19
  "tableColumns": Array [],
42
- "taskModalOpened": false,
43
- "tasks": Array [],
20
+ "task": Object {
21
+ "humanized": Object {
22
+ "action": "ManifestRefresh",
23
+ },
24
+ "id": "12345",
25
+ },
44
26
  }
45
27
  `;
46
28
 
@@ -51,7 +33,7 @@ Object {
51
33
  "deleteModalOpened": false,
52
34
  "disconnected": false,
53
35
  "itemCount": 0,
54
- "loading": false,
36
+ "loading": true,
55
37
  "pagination": Object {
56
38
  "page": 0,
57
39
  "perPage": 20,
@@ -61,8 +43,12 @@ Object {
61
43
  "searchQuery": "",
62
44
  "selectedTableColumns": Array [],
63
45
  "tableColumns": Array [],
64
- "taskModalOpened": false,
65
- "tasks": Array [],
46
+ "task": Object {
47
+ "humanized": Object {
48
+ "action": "ManifestRefresh",
49
+ },
50
+ "id": "12345",
51
+ },
66
52
  }
67
53
  `;
68
54
 
@@ -83,8 +69,7 @@ Object {
83
69
  "searchQuery": "",
84
70
  "selectedTableColumns": Array [],
85
71
  "tableColumns": Array [],
86
- "taskModalOpened": false,
87
- "tasks": Array [],
72
+ "task": null,
88
73
  }
89
74
  `;
90
75
 
@@ -105,12 +90,11 @@ Object {
105
90
  "searchQuery": "",
106
91
  "selectedTableColumns": Array [],
107
92
  "tableColumns": Array [],
108
- "taskModalOpened": false,
109
- "tasks": Array [],
93
+ "task": null,
110
94
  }
111
95
  `;
112
96
 
113
- exports[`Subscriptions reducer should handle GET_TASK_SUCCESS 1`] = `
97
+ exports[`Subscriptions reducer should handle REFRESH_MANIFEST_SUCCESS 1`] = `
114
98
  Object {
115
99
  "availableQuantities": null,
116
100
  "deleteButtonDisabled": true,
@@ -127,12 +111,16 @@ Object {
127
111
  "searchQuery": "",
128
112
  "selectedTableColumns": Array [],
129
113
  "tableColumns": Array [],
130
- "taskModalOpened": false,
131
- "tasks": Array [],
114
+ "task": Object {
115
+ "humanized": Object {
116
+ "action": "ManifestRefresh",
117
+ },
118
+ "id": "12345",
119
+ },
132
120
  }
133
121
  `;
134
122
 
135
- exports[`Subscriptions reducer should handle RESET_TASKS 1`] = `
123
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_CLOSE_DELETE_MODAL 1`] = `
136
124
  Object {
137
125
  "availableQuantities": null,
138
126
  "deleteButtonDisabled": true,
@@ -149,12 +137,11 @@ Object {
149
137
  "searchQuery": "",
150
138
  "selectedTableColumns": Array [],
151
139
  "tableColumns": Array [],
152
- "taskModalOpened": false,
153
- "tasks": Array [],
140
+ "task": null,
154
141
  }
155
142
  `;
156
143
 
157
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_CLOSE_DELETE_MODAL 1`] = `
144
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_COLUMNS_REQUEST 1`] = `
158
145
  Object {
159
146
  "availableQuantities": null,
160
147
  "deleteButtonDisabled": true,
@@ -170,13 +157,16 @@ Object {
170
157
  "results": Array [],
171
158
  "searchQuery": "",
172
159
  "selectedTableColumns": Array [],
173
- "tableColumns": Array [],
174
- "taskModalOpened": false,
175
- "tasks": Array [],
160
+ "tableColumns": Array [
161
+ "col1",
162
+ "col2",
163
+ "col3",
164
+ ],
165
+ "task": null,
176
166
  }
177
167
  `;
178
168
 
179
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_CLOSE_TASK_MODAL 1`] = `
169
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_DISABLE_DELETE_BUTTON 1`] = `
180
170
  Object {
181
171
  "availableQuantities": null,
182
172
  "deleteButtonDisabled": true,
@@ -193,15 +183,14 @@ Object {
193
183
  "searchQuery": "",
194
184
  "selectedTableColumns": Array [],
195
185
  "tableColumns": Array [],
196
- "taskModalOpened": false,
197
- "tasks": Array [],
186
+ "task": null,
198
187
  }
199
188
  `;
200
189
 
201
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_COLUMNS_REQUEST 1`] = `
190
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_ENABLE_DELETE_BUTTON 1`] = `
202
191
  Object {
203
192
  "availableQuantities": null,
204
- "deleteButtonDisabled": true,
193
+ "deleteButtonDisabled": false,
205
194
  "deleteModalOpened": false,
206
195
  "disconnected": false,
207
196
  "itemCount": 0,
@@ -214,24 +203,20 @@ Object {
214
203
  "results": Array [],
215
204
  "searchQuery": "",
216
205
  "selectedTableColumns": Array [],
217
- "tableColumns": Array [
218
- "col1",
219
- "col2",
220
- "col3",
221
- ],
222
- "taskModalOpened": false,
223
- "tasks": Array [],
206
+ "tableColumns": Array [],
207
+ "task": null,
224
208
  }
225
209
  `;
226
210
 
227
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_DISABLE_DELETE_BUTTON 1`] = `
211
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_FAILURE 1`] = `
228
212
  Object {
229
213
  "availableQuantities": null,
230
214
  "deleteButtonDisabled": true,
231
215
  "deleteModalOpened": false,
232
216
  "disconnected": false,
233
217
  "itemCount": 0,
234
- "loading": true,
218
+ "loading": false,
219
+ "missingPermissions": undefined,
235
220
  "pagination": Object {
236
221
  "page": 0,
237
222
  "perPage": 20,
@@ -241,16 +226,15 @@ Object {
241
226
  "searchQuery": "",
242
227
  "selectedTableColumns": Array [],
243
228
  "tableColumns": Array [],
244
- "taskModalOpened": false,
245
- "tasks": Array [],
229
+ "task": null,
246
230
  }
247
231
  `;
248
232
 
249
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_ENABLE_DELETE_BUTTON 1`] = `
233
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_OPEN_DELETE_MODAL 1`] = `
250
234
  Object {
251
235
  "availableQuantities": null,
252
- "deleteButtonDisabled": false,
253
- "deleteModalOpened": false,
236
+ "deleteButtonDisabled": true,
237
+ "deleteModalOpened": true,
254
238
  "disconnected": false,
255
239
  "itemCount": 0,
256
240
  "loading": true,
@@ -263,20 +247,18 @@ Object {
263
247
  "searchQuery": "",
264
248
  "selectedTableColumns": Array [],
265
249
  "tableColumns": Array [],
266
- "taskModalOpened": false,
267
- "tasks": Array [],
250
+ "task": null,
268
251
  }
269
252
  `;
270
253
 
271
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_FAILURE 1`] = `
254
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_POLL_TASK_FAILURE 1`] = `
272
255
  Object {
273
256
  "availableQuantities": null,
274
257
  "deleteButtonDisabled": true,
275
258
  "deleteModalOpened": false,
276
259
  "disconnected": false,
277
260
  "itemCount": 0,
278
- "loading": false,
279
- "missingPermissions": undefined,
261
+ "loading": true,
280
262
  "pagination": Object {
281
263
  "page": 0,
282
264
  "perPage": 20,
@@ -286,16 +268,15 @@ Object {
286
268
  "searchQuery": "",
287
269
  "selectedTableColumns": Array [],
288
270
  "tableColumns": Array [],
289
- "taskModalOpened": false,
290
- "tasks": Array [],
271
+ "task": null,
291
272
  }
292
273
  `;
293
274
 
294
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_OPEN_DELETE_MODAL 1`] = `
275
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_POLL_TASK_SUCCESS 1`] = `
295
276
  Object {
296
277
  "availableQuantities": null,
297
278
  "deleteButtonDisabled": true,
298
- "deleteModalOpened": true,
279
+ "deleteModalOpened": false,
299
280
  "disconnected": false,
300
281
  "itemCount": 0,
301
282
  "loading": true,
@@ -308,14 +289,18 @@ Object {
308
289
  "searchQuery": "",
309
290
  "selectedTableColumns": Array [],
310
291
  "tableColumns": Array [],
311
- "taskModalOpened": false,
312
- "tasks": Array [],
292
+ "task": Object {
293
+ "humanized": Object {
294
+ "action": "ManifestRefresh",
295
+ },
296
+ "id": "12345",
297
+ },
313
298
  }
314
299
  `;
315
300
 
316
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_OPEN_TASK_MODAL 1`] = `
301
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_QUANTITIES_FAILURE 1`] = `
317
302
  Object {
318
- "availableQuantities": null,
303
+ "availableQuantities": Object {},
319
304
  "deleteButtonDisabled": true,
320
305
  "deleteModalOpened": false,
321
306
  "disconnected": false,
@@ -330,14 +315,13 @@ Object {
330
315
  "searchQuery": "",
331
316
  "selectedTableColumns": Array [],
332
317
  "tableColumns": Array [],
333
- "taskModalOpened": true,
334
- "tasks": Array [],
318
+ "task": null,
335
319
  }
336
320
  `;
337
321
 
338
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_QUANTITIES_FAILURE 1`] = `
322
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_QUANTITIES_REQUEST 1`] = `
339
323
  Object {
340
- "availableQuantities": Object {},
324
+ "availableQuantities": null,
341
325
  "deleteButtonDisabled": true,
342
326
  "deleteModalOpened": false,
343
327
  "disconnected": false,
@@ -347,19 +331,18 @@ Object {
347
331
  "page": 0,
348
332
  "perPage": 20,
349
333
  },
350
- "quantitiesLoading": false,
334
+ "quantitiesLoading": true,
351
335
  "results": Array [],
352
336
  "searchQuery": "",
353
337
  "selectedTableColumns": Array [],
354
338
  "tableColumns": Array [],
355
- "taskModalOpened": false,
356
- "tasks": Array [],
339
+ "task": null,
357
340
  }
358
341
  `;
359
342
 
360
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_QUANTITIES_REQUEST 1`] = `
343
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_QUANTITIES_SUCCESS 1`] = `
361
344
  Object {
362
- "availableQuantities": null,
345
+ "availableQuantities": "some-quantities-data",
363
346
  "deleteButtonDisabled": true,
364
347
  "deleteModalOpened": false,
365
348
  "disconnected": false,
@@ -369,19 +352,18 @@ Object {
369
352
  "page": 0,
370
353
  "perPage": 20,
371
354
  },
372
- "quantitiesLoading": true,
355
+ "quantitiesLoading": false,
373
356
  "results": Array [],
374
357
  "searchQuery": "",
375
358
  "selectedTableColumns": Array [],
376
359
  "tableColumns": Array [],
377
- "taskModalOpened": false,
378
- "tasks": Array [],
360
+ "task": null,
379
361
  }
380
362
  `;
381
363
 
382
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_QUANTITIES_SUCCESS 1`] = `
364
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_REQUEST 1`] = `
383
365
  Object {
384
- "availableQuantities": "some-quantities-data",
366
+ "availableQuantities": null,
385
367
  "deleteButtonDisabled": true,
386
368
  "deleteModalOpened": false,
387
369
  "disconnected": false,
@@ -396,12 +378,11 @@ Object {
396
378
  "searchQuery": "",
397
379
  "selectedTableColumns": Array [],
398
380
  "tableColumns": Array [],
399
- "taskModalOpened": false,
400
- "tasks": Array [],
381
+ "task": null,
401
382
  }
402
383
  `;
403
384
 
404
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_REQUEST 1`] = `
385
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_RESET_TASKS 1`] = `
405
386
  Object {
406
387
  "availableQuantities": null,
407
388
  "deleteButtonDisabled": true,
@@ -418,8 +399,7 @@ Object {
418
399
  "searchQuery": "",
419
400
  "selectedTableColumns": Array [],
420
401
  "tableColumns": Array [],
421
- "taskModalOpened": false,
422
- "tasks": Array [],
402
+ "task": null,
423
403
  }
424
404
  `;
425
405
 
@@ -448,12 +428,11 @@ Object {
448
428
  "searchQuery": "",
449
429
  "selectedTableColumns": Array [],
450
430
  "tableColumns": Array [],
451
- "taskModalOpened": false,
452
- "tasks": Array [],
431
+ "task": null,
453
432
  }
454
433
  `;
455
434
 
456
- exports[`Subscriptions reducer should handle SUBSCRIPTIONS_UPDATE_SEARCH_QUERY 1`] = `
435
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_TASK_SEARCH_FAILURE 1`] = `
457
436
  Object {
458
437
  "availableQuantities": null,
459
438
  "deleteButtonDisabled": true,
@@ -467,15 +446,14 @@ Object {
467
446
  },
468
447
  "quantitiesLoading": false,
469
448
  "results": Array [],
470
- "searchQuery": "some-query",
449
+ "searchQuery": "",
471
450
  "selectedTableColumns": Array [],
472
451
  "tableColumns": Array [],
473
- "taskModalOpened": false,
474
- "tasks": Array [],
452
+ "task": null,
475
453
  }
476
454
  `;
477
455
 
478
- exports[`Subscriptions reducer should handle TASK_BULK_SEARCH_SUCCESS 1`] = `
456
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_TASK_SEARCH_SUCCESS 1`] = `
479
457
  Object {
480
458
  "availableQuantities": null,
481
459
  "deleteButtonDisabled": true,
@@ -492,34 +470,37 @@ Object {
492
470
  "searchQuery": "",
493
471
  "selectedTableColumns": Array [],
494
472
  "tableColumns": Array [],
495
- "taskModalOpened": false,
496
- "tasks": Array [],
473
+ "task": Object {
474
+ "humanized": Object {
475
+ "action": "ManifestRefresh",
476
+ },
477
+ "id": "12345",
478
+ },
497
479
  }
498
480
  `;
499
481
 
500
- exports[`Subscriptions reducer should handle UPDATE_QUANTITY_FAILURE 1`] = `
482
+ exports[`Subscriptions reducer should handle SUBSCRIPTIONS_UPDATE_SEARCH_QUERY 1`] = `
501
483
  Object {
502
484
  "availableQuantities": null,
503
485
  "deleteButtonDisabled": true,
504
486
  "deleteModalOpened": false,
505
487
  "disconnected": false,
506
488
  "itemCount": 0,
507
- "loading": false,
489
+ "loading": true,
508
490
  "pagination": Object {
509
491
  "page": 0,
510
492
  "perPage": 20,
511
493
  },
512
494
  "quantitiesLoading": false,
513
495
  "results": Array [],
514
- "searchQuery": "",
496
+ "searchQuery": "some-query",
515
497
  "selectedTableColumns": Array [],
516
498
  "tableColumns": Array [],
517
- "taskModalOpened": false,
518
- "tasks": Array [],
499
+ "task": null,
519
500
  }
520
501
  `;
521
502
 
522
- exports[`Subscriptions reducer should handle UPDATE_QUANTITY_REQUEST 1`] = `
503
+ exports[`Subscriptions reducer should handle UPDATE_QUANTITY_SUCCESS 1`] = `
523
504
  Object {
524
505
  "availableQuantities": null,
525
506
  "deleteButtonDisabled": true,
@@ -536,19 +517,23 @@ Object {
536
517
  "searchQuery": "",
537
518
  "selectedTableColumns": Array [],
538
519
  "tableColumns": Array [],
539
- "taskModalOpened": false,
540
- "tasks": Array [],
520
+ "task": Object {
521
+ "humanized": Object {
522
+ "action": "ManifestRefresh",
523
+ },
524
+ "id": "12345",
525
+ },
541
526
  }
542
527
  `;
543
528
 
544
- exports[`Subscriptions reducer should handle UPDATE_QUANTITY_SUCCESS 1`] = `
529
+ exports[`Subscriptions reducer should handle UPDATE_SUBSCRIPTION_COLUMNS 1`] = `
545
530
  Object {
546
531
  "availableQuantities": null,
547
532
  "deleteButtonDisabled": true,
548
533
  "deleteModalOpened": false,
549
534
  "disconnected": false,
550
535
  "itemCount": 0,
551
- "loading": false,
536
+ "loading": true,
552
537
  "pagination": Object {
553
538
  "page": 0,
554
539
  "perPage": 20,
@@ -556,14 +541,16 @@ Object {
556
541
  "quantitiesLoading": false,
557
542
  "results": Array [],
558
543
  "searchQuery": "",
559
- "selectedTableColumns": Array [],
544
+ "selectedTableColumns": Array [
545
+ "col1",
546
+ "col2",
547
+ ],
560
548
  "tableColumns": Array [],
561
- "taskModalOpened": false,
562
- "tasks": Array [],
549
+ "task": null,
563
550
  }
564
551
  `;
565
552
 
566
- exports[`Subscriptions reducer should handle UPDATE_SUBSCRIPTION_COLUMNS 1`] = `
553
+ exports[`Subscriptions reducer should handle UPLOAD_MANIFEST_SUCCESS 1`] = `
567
554
  Object {
568
555
  "availableQuantities": null,
569
556
  "deleteButtonDisabled": true,
@@ -578,13 +565,14 @@ Object {
578
565
  "quantitiesLoading": false,
579
566
  "results": Array [],
580
567
  "searchQuery": "",
581
- "selectedTableColumns": Array [
582
- "col1",
583
- "col2",
584
- ],
568
+ "selectedTableColumns": Array [],
585
569
  "tableColumns": Array [],
586
- "taskModalOpened": false,
587
- "tasks": Array [],
570
+ "task": Object {
571
+ "humanized": Object {
572
+ "action": "ManifestRefresh",
573
+ },
574
+ "id": "12345",
575
+ },
588
576
  }
589
577
  `;
590
578
 
@@ -605,7 +593,6 @@ Object {
605
593
  "searchQuery": "",
606
594
  "selectedTableColumns": Array [],
607
595
  "tableColumns": Array [],
608
- "taskModalOpened": false,
609
- "tasks": Array [],
596
+ "task": null,
610
597
  }
611
598
  `;