All files / latest/src/helpers/validateReponseAndPassDefault index.js

93.1% Statements 27/29
85.71% Branches 6/7
100% Functions 2/2
93.1% Lines 27/29

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 301x 1x 1x 1x 1x 1x 1x 1x 1x     1x 1x 1x 1x 1x 1x 1x 1x 1x 501x 501x 501x 2x 2x 499x 499x 1x 1x  
/**
 * check if both variables are an empty array
 */
const bothAreEmptyArray = (value1, value2) => {
  if (Array.isArray(value1) && Array.isArray(value2)) {
    if (value1.length === 0 && value2.length === 0) {
      return true;
    }
  }
  return false;
};
 
/**
 * Check response against responseDefault and pass settingsDefault
 * @param {Any} response - response to be testen
 * @param {Any} responseDefault - default response from function
 * @param {Any} settingsDefault - settings default response
 * @returns {Any} response, or settings default if response was responseDefault
 */
const validateResponseAndPassDefault = (response, responseDefault, settingsDefault) => {
  if (settingsDefault !== undefined
    && (response === responseDefault || bothAreEmptyArray(response, responseDefault))
  ) {
    return settingsDefault;
  }
  return response;
};
 
module.exports = validateResponseAndPassDefault;