All files / app/assets/javascripts/integrations/edit/store actions.js

100% Statements 17/17
71.42% Branches 5/7
100% Functions 6/6
100% Lines 16/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41              21x   21x 4x 4x   4x         3x 2x     1x       3x       21x 1x 1x     21x 1x 1x 1x    
import {
  I18N_FETCH_TEST_SETTINGS_DEFAULT_ERROR_MESSAGE,
  I18N_DEFAULT_ERROR_MESSAGE,
} from '~/integrations/constants';
import { testIntegrationSettings } from '../api';
import * as types from './mutation_types';
 
export const setOverride = ({ commit }, override) => commit(types.SET_OVERRIDE, override);
 
export const requestJiraIssueTypes = ({ commit, dispatch, getters }, formData) => {
  commit(types.SET_JIRA_ISSUE_TYPES_ERROR_MESSAGE, '');
  commit(types.SET_IS_LOADING_JIRA_ISSUE_TYPES, true);
 
  return testIntegrationSettings(getters.propsSource.testPath, formData)
    .then(
      ({
        data: { issuetypes, error, message = I18N_FETCH_TEST_SETTINGS_DEFAULT_ERROR_MESSAGE },
      }) => {
        if (error || !issuetypes?.length) {
          throw new Error(message);
        }
 
        dispatch('receiveJiraIssueTypesSuccess', issuetypes);
      },
    )
    .catch(({ message = I18N_DEFAULT_ERROR_MESSAGE }) => {
      dispatch('receiveJiraIssueTypesError', message);
    });
};
 
export const receiveJiraIssueTypesSuccess = ({ commit }, issueTypes = []) => {
  commit(types.SET_IS_LOADING_JIRA_ISSUE_TYPES, false);
  commit(types.SET_JIRA_ISSUE_TYPES, issueTypes);
};
 
export const receiveJiraIssueTypesError = ({ commit }, errorMessage) => {
  commit(types.SET_IS_LOADING_JIRA_ISSUE_TYPES, false);
  commit(types.SET_JIRA_ISSUE_TYPES, []);
  commit(types.SET_JIRA_ISSUE_TYPES_ERROR_MESSAGE, errorMessage);
};