56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
import * as types from './mutation_types';
|
|
import { countRecentlyFailedTests } from './utils';
|
|
|
|
export default {
|
|
[types.SET_ENDPOINT](state, endpoint) {
|
|
state.endpoint = endpoint;
|
|
},
|
|
[types.REQUEST_REPORTS](state) {
|
|
state.isLoading = true;
|
|
},
|
|
[types.RECEIVE_REPORTS_SUCCESS](state, response) {
|
|
state.hasError = response.suites.some(suite => suite.status === 'error');
|
|
|
|
state.isLoading = false;
|
|
|
|
state.summary.total = response.summary.total;
|
|
state.summary.resolved = response.summary.resolved;
|
|
state.summary.failed = response.summary.failed;
|
|
state.summary.errored = response.summary.errored;
|
|
state.summary.recentlyFailed = countRecentlyFailedTests(response.suites);
|
|
|
|
state.status = response.status;
|
|
state.reports = response.suites;
|
|
|
|
state.reports.forEach((report, i) => {
|
|
if (!state.reports[i].summary) return;
|
|
state.reports[i].summary.recentlyFailed = countRecentlyFailedTests(report);
|
|
});
|
|
},
|
|
[types.RECEIVE_REPORTS_ERROR](state) {
|
|
state.isLoading = false;
|
|
state.hasError = true;
|
|
|
|
state.reports = [];
|
|
state.summary = {
|
|
total: 0,
|
|
resolved: 0,
|
|
failed: 0,
|
|
errored: 0,
|
|
recentlyFailed: 0,
|
|
};
|
|
state.status = null;
|
|
},
|
|
[types.SET_ISSUE_MODAL_DATA](state, payload) {
|
|
state.modal.title = payload.issue.name;
|
|
|
|
Object.keys(payload.issue).forEach(key => {
|
|
if (Object.prototype.hasOwnProperty.call(state.modal.data, key)) {
|
|
state.modal.data[key] = {
|
|
...state.modal.data[key],
|
|
value: payload.issue[key],
|
|
};
|
|
}
|
|
});
|
|
},
|
|
};
|