foreman-tasks 12.2.2 → 12.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/routes.rb +0 -1
- data/lib/foreman_tasks/version.rb +1 -1
- data/webpack/ForemanTasks/Components/TaskActions/TaskAction.test.js +212 -42
- data/webpack/ForemanTasks/Components/TaskDetails/Components/Errors.js +224 -55
- data/webpack/ForemanTasks/Components/TaskDetails/Components/Errors.scss +41 -0
- data/webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js +152 -44
- data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Errors.test.js +159 -11
- data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +39 -0
- data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js +3 -1
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboard.test.js +94 -7
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardActions.test.js +97 -16
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardReducer.test.js +112 -46
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js +103 -15
- data/webpack/ForemanTasks/Components/TasksTable/TasksTableConstants.js +1 -1
- data/webpack/Routes/routes.js +0 -5
- data/webpack/Routes/routes.test.js +0 -18
- metadata +2 -11
- data/webpack/ForemanTasks/Components/TaskActions/__snapshots__/TaskAction.test.js.snap +0 -233
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboard.test.js.snap +0 -51
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardActions.test.js.snap +0 -151
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardReducer.test.js.snap +0 -275
- data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardSelectors.test.js.snap +0 -119
- data/webpack/ForemanTasks/Routes/ShowTask/ShowTask.js +0 -10
- data/webpack/ForemanTasks/Routes/ShowTask/__tests__/ShowTask.test.js +0 -14
- data/webpack/ForemanTasks/Routes/ShowTask/__tests__/__snapshots__/ShowTask.test.js.snap +0 -12
- data/webpack/ForemanTasks/Routes/ShowTask/index.js +0 -1
- data/webpack/ForemanTasks/Routes/ShowTask/showTask.scss +0 -0
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { testActionSnapshotWithFixtures } from '@theforeman/test';
|
|
2
1
|
import { API } from 'foremanReact/redux/API';
|
|
3
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
FOREMAN_TASKS_DASHBOARD_INIT,
|
|
4
|
+
FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
|
|
5
|
+
FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY,
|
|
6
|
+
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
7
|
+
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
|
|
8
|
+
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE,
|
|
9
|
+
} from '../TasksDashboardConstants';
|
|
10
|
+
import { timeToHoursNumber, resolveQuery } from '../TasksDashboardHelper';
|
|
4
11
|
import {
|
|
5
12
|
initializeDashboard,
|
|
6
13
|
updateTime,
|
|
@@ -12,25 +19,99 @@ import {
|
|
|
12
19
|
wrongTime,
|
|
13
20
|
parentTaskID,
|
|
14
21
|
apiGetMock,
|
|
22
|
+
taskSummary,
|
|
23
|
+
subtaskSummary,
|
|
15
24
|
} from './TaskDashboard.fixtures';
|
|
16
25
|
|
|
17
26
|
jest.mock('foremanReact/redux/API');
|
|
18
27
|
jest.mock('../TasksDashboardHelper');
|
|
19
28
|
|
|
20
29
|
timeToHoursNumber.mockImplementation(arg => arg);
|
|
30
|
+
resolveQuery.mockImplementation(() => {});
|
|
21
31
|
API.get.mockImplementation(apiGetMock);
|
|
22
32
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
describe('TasksDashboard - Actions', () => {
|
|
34
|
+
beforeEach(() => {
|
|
35
|
+
jest.clearAllMocks();
|
|
36
|
+
timeToHoursNumber.mockImplementation(arg => arg);
|
|
37
|
+
resolveQuery.mockImplementation(() => {});
|
|
38
|
+
API.get.mockImplementation(apiGetMock);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('should initialize-dashboard', () => {
|
|
42
|
+
expect(
|
|
43
|
+
initializeDashboard({ time: 'some-time', query: 'some-query' })
|
|
44
|
+
).toEqual({
|
|
45
|
+
type: FOREMAN_TASKS_DASHBOARD_INIT,
|
|
46
|
+
payload: { time: 'some-time', query: 'some-query' },
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('should update-time', () => {
|
|
51
|
+
expect(updateTime('some-time')).toEqual({
|
|
52
|
+
type: FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
|
|
53
|
+
payload: 'some-time',
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('should update-query', () => {
|
|
58
|
+
const dispatch = jest.fn();
|
|
59
|
+
const getState = jest.fn();
|
|
60
|
+
const history = { push: jest.fn(), replace: jest.fn() };
|
|
61
|
+
const query = { state: 'running' };
|
|
62
|
+
|
|
63
|
+
updateQuery(query, history)(dispatch, getState);
|
|
64
|
+
|
|
65
|
+
expect(resolveQuery).toHaveBeenCalledWith(query, history);
|
|
66
|
+
expect(dispatch).toHaveBeenCalledWith({
|
|
67
|
+
type: FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY,
|
|
68
|
+
payload: query,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should fetch-tasks-summary and success', async () => {
|
|
73
|
+
const dispatch = jest.fn();
|
|
74
|
+
|
|
75
|
+
await fetchTasksSummary(correctTime)(dispatch);
|
|
76
|
+
|
|
77
|
+
expect(dispatch).toHaveBeenCalledTimes(2);
|
|
78
|
+
expect(dispatch.mock.calls[0][0]).toEqual({
|
|
79
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
80
|
+
});
|
|
81
|
+
expect(dispatch.mock.calls[1][0]).toEqual({
|
|
82
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
|
|
83
|
+
payload: taskSummary,
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it('should fetch-tasks-summary for subtasks and success', async () => {
|
|
88
|
+
const dispatch = jest.fn();
|
|
89
|
+
|
|
90
|
+
await fetchTasksSummary(correctTime, parentTaskID)(dispatch);
|
|
91
|
+
|
|
92
|
+
expect(dispatch).toHaveBeenCalledTimes(2);
|
|
93
|
+
expect(dispatch.mock.calls[0][0]).toEqual({
|
|
94
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
95
|
+
});
|
|
96
|
+
expect(dispatch.mock.calls[1][0]).toEqual({
|
|
97
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
|
|
98
|
+
payload: subtaskSummary,
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('should fetch-tasks-summary and fail', async () => {
|
|
103
|
+
const dispatch = jest.fn();
|
|
104
|
+
|
|
105
|
+
await fetchTasksSummary(wrongTime)(dispatch);
|
|
106
|
+
|
|
107
|
+
expect(dispatch).toHaveBeenCalledTimes(2);
|
|
108
|
+
expect(dispatch.mock.calls[0][0]).toEqual({
|
|
109
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
110
|
+
});
|
|
111
|
+
expect(dispatch.mock.calls[1][0].type).toBe(
|
|
112
|
+
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE
|
|
113
|
+
);
|
|
114
|
+
expect(dispatch.mock.calls[1][0].payload).toEqual(expect.any(Error));
|
|
115
|
+
expect(dispatch.mock.calls[1][0].payload.message).toBe('wrong time');
|
|
116
|
+
});
|
|
117
|
+
});
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { testReducerSnapshotWithFixtures } from '@theforeman/test';
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
FOREMAN_TASKS_DASHBOARD_INIT,
|
|
5
3
|
FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
|
|
@@ -7,52 +5,120 @@ import {
|
|
|
7
5
|
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
8
6
|
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
|
|
9
7
|
FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE,
|
|
8
|
+
TASKS_DASHBOARD_AVAILABLE_QUERY_STATES,
|
|
9
|
+
TASKS_DASHBOARD_AVAILABLE_TIMES,
|
|
10
|
+
TASKS_SUMMARY_ZERO,
|
|
10
11
|
} from '../TasksDashboardConstants';
|
|
11
12
|
import reducer from '../TasksDashboardReducer';
|
|
12
13
|
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
type: FOREMAN_TASKS_DASHBOARD_INIT,
|
|
23
|
-
payload: { time: 'some-time', query: 'some-query' },
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
'should handle FOREMAN_TASKS_DASHBOARD_UPDATE_TIME': {
|
|
27
|
-
action: {
|
|
28
|
-
type: FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
|
|
29
|
-
payload: 'some-time',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
'should handle FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY': {
|
|
33
|
-
action: {
|
|
34
|
-
type: FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY,
|
|
35
|
-
payload: 'some-query',
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
'should handle FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST': {
|
|
39
|
-
action: {
|
|
40
|
-
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
'should handle FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS': {
|
|
44
|
-
action: {
|
|
45
|
-
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
|
|
46
|
-
payload: 'some-payload',
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
'should handle FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE': {
|
|
50
|
-
action: {
|
|
51
|
-
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE,
|
|
52
|
-
payload: new Error('some error'),
|
|
53
|
-
},
|
|
54
|
-
},
|
|
14
|
+
const dashboardQuery = {
|
|
15
|
+
state: TASKS_DASHBOARD_AVAILABLE_QUERY_STATES.RUNNING,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const initialState = {
|
|
19
|
+
time: TASKS_DASHBOARD_AVAILABLE_TIMES.H24,
|
|
20
|
+
isLoadingTasksSummary: false,
|
|
21
|
+
error: null,
|
|
22
|
+
tasksSummary: TASKS_SUMMARY_ZERO,
|
|
55
23
|
};
|
|
56
24
|
|
|
57
|
-
|
|
58
|
-
|
|
25
|
+
const runReducer = (state, action) =>
|
|
26
|
+
reducer(state, action).asMutable({ deep: true });
|
|
27
|
+
|
|
28
|
+
describe('TasksDashboard reducer', () => {
|
|
29
|
+
it('should return the initial state', () => {
|
|
30
|
+
expect(runReducer(undefined, {})).toEqual(initialState);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_INIT', () => {
|
|
34
|
+
expect(
|
|
35
|
+
runReducer(undefined, {
|
|
36
|
+
type: FOREMAN_TASKS_DASHBOARD_INIT,
|
|
37
|
+
})
|
|
38
|
+
).toEqual({
|
|
39
|
+
...initialState,
|
|
40
|
+
query: undefined,
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_INIT with data', () => {
|
|
45
|
+
expect(
|
|
46
|
+
runReducer(undefined, {
|
|
47
|
+
type: FOREMAN_TASKS_DASHBOARD_INIT,
|
|
48
|
+
payload: {
|
|
49
|
+
time: TASKS_DASHBOARD_AVAILABLE_TIMES.WEEK,
|
|
50
|
+
query: dashboardQuery,
|
|
51
|
+
},
|
|
52
|
+
})
|
|
53
|
+
).toEqual({
|
|
54
|
+
...initialState,
|
|
55
|
+
time: TASKS_DASHBOARD_AVAILABLE_TIMES.WEEK,
|
|
56
|
+
query: dashboardQuery,
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_UPDATE_TIME', () => {
|
|
61
|
+
expect(
|
|
62
|
+
runReducer(undefined, {
|
|
63
|
+
type: FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
|
|
64
|
+
payload: TASKS_DASHBOARD_AVAILABLE_TIMES.WEEK,
|
|
65
|
+
})
|
|
66
|
+
).toEqual({
|
|
67
|
+
...initialState,
|
|
68
|
+
time: TASKS_DASHBOARD_AVAILABLE_TIMES.WEEK,
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY', () => {
|
|
73
|
+
expect(
|
|
74
|
+
runReducer(undefined, {
|
|
75
|
+
type: FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY,
|
|
76
|
+
payload: dashboardQuery,
|
|
77
|
+
})
|
|
78
|
+
).toEqual({
|
|
79
|
+
...initialState,
|
|
80
|
+
query: dashboardQuery,
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST', () => {
|
|
85
|
+
expect(
|
|
86
|
+
runReducer(undefined, {
|
|
87
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
|
|
88
|
+
})
|
|
89
|
+
).toEqual({
|
|
90
|
+
...initialState,
|
|
91
|
+
isLoading: true,
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS', () => {
|
|
96
|
+
expect(
|
|
97
|
+
runReducer(undefined, {
|
|
98
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
|
|
99
|
+
payload: 'some-payload',
|
|
100
|
+
})
|
|
101
|
+
).toEqual({
|
|
102
|
+
...initialState,
|
|
103
|
+
tasksSummary: 'some-payload',
|
|
104
|
+
isLoading: false,
|
|
105
|
+
error: null,
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it('should handle FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE', () => {
|
|
110
|
+
const error = new Error('some error');
|
|
111
|
+
|
|
112
|
+
expect(
|
|
113
|
+
runReducer(undefined, {
|
|
114
|
+
type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE,
|
|
115
|
+
payload: error,
|
|
116
|
+
})
|
|
117
|
+
).toEqual({
|
|
118
|
+
...initialState,
|
|
119
|
+
tasksSummary: TASKS_SUMMARY_ZERO,
|
|
120
|
+
isLoading: false,
|
|
121
|
+
error,
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { testSelectorsSnapshotWithFixtures } from '@theforeman/test';
|
|
2
1
|
import {
|
|
3
2
|
selectTasksDashboard,
|
|
4
3
|
selectTime,
|
|
@@ -6,6 +5,7 @@ import {
|
|
|
6
5
|
selectTasksSummary,
|
|
7
6
|
calcStoppedOther,
|
|
8
7
|
} from '../TasksDashboardSelectors';
|
|
8
|
+
import { TASKS_DASHBOARD_AVAILABLE_TIMES } from '../TasksDashboardConstants';
|
|
9
9
|
|
|
10
10
|
const stoppedResult = {
|
|
11
11
|
error: {
|
|
@@ -55,19 +55,107 @@ const state = {
|
|
|
55
55
|
},
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
58
|
+
const emptyTasksSummary = {
|
|
59
|
+
paused: {
|
|
60
|
+
last: 0,
|
|
61
|
+
older: 0,
|
|
62
|
+
},
|
|
63
|
+
running: {
|
|
64
|
+
last: 0,
|
|
65
|
+
older: 0,
|
|
66
|
+
},
|
|
67
|
+
scheduled: 0,
|
|
68
|
+
stopped: {
|
|
69
|
+
other: 0,
|
|
70
|
+
results: {
|
|
71
|
+
error: {
|
|
72
|
+
last: 0,
|
|
73
|
+
total: 0,
|
|
74
|
+
},
|
|
75
|
+
success: {
|
|
76
|
+
last: 0,
|
|
77
|
+
total: 0,
|
|
78
|
+
},
|
|
79
|
+
warning: {
|
|
80
|
+
last: 0,
|
|
81
|
+
total: 0,
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
70
85
|
};
|
|
71
86
|
|
|
72
|
-
describe('TasksDashboard - Selectors', () =>
|
|
73
|
-
|
|
87
|
+
describe('TasksDashboard - Selectors', () => {
|
|
88
|
+
it('should select tasks-dashboard', () => {
|
|
89
|
+
expect(selectTasksDashboard(state)).toEqual(
|
|
90
|
+
state.foremanTasks.tasksDashboard
|
|
91
|
+
);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it('should select tasks-dashboard when state is empty', () => {
|
|
95
|
+
expect(selectTasksDashboard({})).toEqual({});
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it('should select time', () => {
|
|
99
|
+
expect(selectTime(state)).toBe('some-time');
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('should select time when state is empty', () => {
|
|
103
|
+
expect(selectTime({})).toBe(TASKS_DASHBOARD_AVAILABLE_TIMES.H24);
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
it('should select query', () => {
|
|
107
|
+
const query = { state: 'running' };
|
|
108
|
+
const stateWithQuery = {
|
|
109
|
+
...state,
|
|
110
|
+
foremanTasks: {
|
|
111
|
+
...state.foremanTasks,
|
|
112
|
+
tasksDashboard: { ...state.foremanTasks.tasksDashboard, query },
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
expect(selectQuery(stateWithQuery)).toEqual(query);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it('should select query when state is empty', () => {
|
|
120
|
+
expect(selectQuery({})).toEqual({});
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('should select tasks-summary', () => {
|
|
124
|
+
expect(selectTasksSummary(state)).toEqual({
|
|
125
|
+
paused: {
|
|
126
|
+
last: 2,
|
|
127
|
+
older: 7,
|
|
128
|
+
},
|
|
129
|
+
running: {
|
|
130
|
+
last: 3,
|
|
131
|
+
older: 5,
|
|
132
|
+
},
|
|
133
|
+
scheduled: 6,
|
|
134
|
+
stopped: {
|
|
135
|
+
other: 16,
|
|
136
|
+
results: {
|
|
137
|
+
error: {
|
|
138
|
+
last: 1,
|
|
139
|
+
total: 9,
|
|
140
|
+
},
|
|
141
|
+
success: {
|
|
142
|
+
last: 3,
|
|
143
|
+
total: 7,
|
|
144
|
+
},
|
|
145
|
+
warning: {
|
|
146
|
+
last: 2,
|
|
147
|
+
total: 8,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it('should select tasks-summary when state is empty', () => {
|
|
155
|
+
expect(selectTasksSummary({})).toEqual(emptyTasksSummary);
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
it('should calcStoppedOther', () => {
|
|
159
|
+
expect(calcStoppedOther(stoppedResult)).toBe(16);
|
|
160
|
+
});
|
|
161
|
+
});
|
|
@@ -5,7 +5,7 @@ export const BULK_RESUME_PATH = 'bulk_resume';
|
|
|
5
5
|
export const BULK_FORCE_CANCEL_PATH = 'bulk_stop';
|
|
6
6
|
|
|
7
7
|
export const TASKS_SEARCH_PROPS = {
|
|
8
|
-
...getControllerSearchProps('tasks'),
|
|
8
|
+
...getControllerSearchProps('/foreman_tasks/tasks'),
|
|
9
9
|
controller: 'foreman_tasks_tasks',
|
|
10
10
|
};
|
|
11
11
|
|
data/webpack/Routes/routes.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import TasksTableIndexPage from '../ForemanTasks/Components/TasksTable/TasksIndexPage';
|
|
3
|
-
import ShowTask from '../ForemanTasks/Routes/ShowTask/ShowTask';
|
|
4
3
|
|
|
5
4
|
const ForemanTasksRoutes = [
|
|
6
5
|
{
|
|
@@ -13,10 +12,6 @@ const ForemanTasksRoutes = [
|
|
|
13
12
|
exact: true,
|
|
14
13
|
render: props => <TasksTableIndexPage {...props} />,
|
|
15
14
|
},
|
|
16
|
-
{
|
|
17
|
-
path: '/foreman_tasks/ex_tasks/:id',
|
|
18
|
-
render: props => <ShowTask {...props} />,
|
|
19
|
-
},
|
|
20
15
|
];
|
|
21
16
|
|
|
22
17
|
export default ForemanTasksRoutes;
|
|
@@ -12,14 +12,6 @@ jest.mock(
|
|
|
12
12
|
}
|
|
13
13
|
);
|
|
14
14
|
|
|
15
|
-
jest.mock(
|
|
16
|
-
'../ForemanTasks/Routes/ShowTask/ShowTask',
|
|
17
|
-
() =>
|
|
18
|
-
function ShowTaskStub() {
|
|
19
|
-
return <div data-testid="show-task-stub" />;
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
|
|
23
15
|
const routerProps = {
|
|
24
16
|
history: { push: jest.fn(), replace: jest.fn(), go: jest.fn() },
|
|
25
17
|
location: {
|
|
@@ -43,7 +35,6 @@ describe('ForemanTasks routes', () => {
|
|
|
43
35
|
).toEqual([
|
|
44
36
|
{ path: '/foreman_tasks/tasks', exact: true },
|
|
45
37
|
{ path: '/foreman_tasks/tasks/:id/sub_tasks', exact: true },
|
|
46
|
-
{ path: '/foreman_tasks/ex_tasks/:id', exact: undefined },
|
|
47
38
|
]);
|
|
48
39
|
});
|
|
49
40
|
|
|
@@ -67,15 +58,6 @@ describe('ForemanTasks routes', () => {
|
|
|
67
58
|
url: '/foreman_tasks/tasks/7/sub_tasks',
|
|
68
59
|
},
|
|
69
60
|
},
|
|
70
|
-
{
|
|
71
|
-
...routerProps,
|
|
72
|
-
match: {
|
|
73
|
-
...routerProps.match,
|
|
74
|
-
params: { id: '42' },
|
|
75
|
-
path: '/foreman_tasks/ex_tasks/:id',
|
|
76
|
-
url: '/foreman_tasks/ex_tasks/42',
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
61
|
];
|
|
80
62
|
|
|
81
63
|
ForemanTasksRoutes.forEach((route, index) => {
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: foreman-tasks
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 12.2.
|
|
4
|
+
version: 12.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ivan Nečas
|
|
@@ -368,10 +368,10 @@ files:
|
|
|
368
368
|
- webpack/ForemanTasks/Components/TaskActions/TaskActionHelpers.js
|
|
369
369
|
- webpack/ForemanTasks/Components/TaskActions/TaskActionHelpers.test.js
|
|
370
370
|
- webpack/ForemanTasks/Components/TaskActions/TaskActionsConstants.js
|
|
371
|
-
- webpack/ForemanTasks/Components/TaskActions/__snapshots__/TaskAction.test.js.snap
|
|
372
371
|
- webpack/ForemanTasks/Components/TaskActions/index.js
|
|
373
372
|
- webpack/ForemanTasks/Components/TaskDetails/Components/Dependencies.js
|
|
374
373
|
- webpack/ForemanTasks/Components/TaskDetails/Components/Errors.js
|
|
374
|
+
- webpack/ForemanTasks/Components/TaskDetails/Components/Errors.scss
|
|
375
375
|
- webpack/ForemanTasks/Components/TaskDetails/Components/Locks.js
|
|
376
376
|
- webpack/ForemanTasks/Components/TaskDetails/Components/Raw.js
|
|
377
377
|
- webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js
|
|
@@ -447,10 +447,6 @@ files:
|
|
|
447
447
|
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardHelper.test.js
|
|
448
448
|
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardReducer.test.js
|
|
449
449
|
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js
|
|
450
|
-
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboard.test.js.snap
|
|
451
|
-
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardActions.test.js.snap
|
|
452
|
-
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardReducer.test.js.snap
|
|
453
|
-
- webpack/ForemanTasks/Components/TasksDashboard/__tests__/__snapshots__/TasksDashboardSelectors.test.js.snap
|
|
454
450
|
- webpack/ForemanTasks/Components/TasksDashboard/index.js
|
|
455
451
|
- webpack/ForemanTasks/Components/TasksTable/Components/ActionSelectButton.js
|
|
456
452
|
- webpack/ForemanTasks/Components/TasksTable/Components/CellActionButton.js
|
|
@@ -478,11 +474,6 @@ files:
|
|
|
478
474
|
- webpack/ForemanTasks/Components/common/urlHelpers.js
|
|
479
475
|
- webpack/ForemanTasks/ForemanTasksReducers.js
|
|
480
476
|
- webpack/ForemanTasks/ForemanTasksSelectors.js
|
|
481
|
-
- webpack/ForemanTasks/Routes/ShowTask/ShowTask.js
|
|
482
|
-
- webpack/ForemanTasks/Routes/ShowTask/__tests__/ShowTask.test.js
|
|
483
|
-
- webpack/ForemanTasks/Routes/ShowTask/__tests__/__snapshots__/ShowTask.test.js.snap
|
|
484
|
-
- webpack/ForemanTasks/Routes/ShowTask/index.js
|
|
485
|
-
- webpack/ForemanTasks/Routes/ShowTask/showTask.scss
|
|
486
477
|
- webpack/Routes/routes.js
|
|
487
478
|
- webpack/Routes/routes.test.js
|
|
488
479
|
- webpack/global_index.js
|