All files catfact.js

100% Statements 8/8
100% Branches 0/0
100% Functions 4/4
100% Lines 8/8

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 42          1x 1x                           2x                 2x   1x     1x 1x     2x      
/**
 * Have butlerbot get a random cat fact from the internet.
 * @module catfact
 * @return {Object} - string (as a message to discord text channel)
 */
const axios = require('axios');
module.exports = {
  name: 'catfact',
  description: 'Get a random cat fact.',
  aliases: ['catfacts'],
  /**
   * @method execute
   * @param {string} message - command, used to determine which channel to return results
   * @return {string} results of cat fact api call 
   */  
  execute(message) {    
    /** 
     * @var {string} catFactApi
     * @summary cat fact api url
     */         
    let catFactApi = 'https://cat-fact.herokuapp.com/facts/random';
    /** 
     * @function catFactApiCall
     * @async
     * @param {string} api - cat fact api url
     * @return {Object} response
     * @summary web location to perform api call against for cat image
     */     
    function catFactApiCall(api) {
      axios.get(api)
      .then(response => {
        message.channel.send(response.data.text);
      })
      .catch(error => {
        console.log(error);
        return message.channel.send(`I'm unable to find any interesting cat facts at this time, sorry master ${message.author}`);
      }); 
    }
    catFactApiCall(catFactApi);
  }
};