ifmeorg / ifme

Free, open source mental health communication web app to share experiences with loved ones
http://www.if-me.org/
GNU Affero General Public License v3.0
1.47k stars 737 forks source link

Fix error raised in `client/app/components/Chart/__tests__/Chart.spec.jsx` #2149

Closed julianguyen closed 1 year ago

julianguyen commented 1 year ago

Description

Fix error raised in client/app/components/Chart/__tests__/Chart.spec.jsx (it doesn't block the test from failing)

Reproduction Steps

$ cd client && yarn test -- app/components/Chart/__tests__/Chart.spec.jsx
$ ● Console

    console.error
      Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)
          at module.exports (/Users/julia/ifme/client/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
          at HTMLCanvasElementImpl.getContext (/Users/julia/ifme/client/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)
          at HTMLCanvasElement.getContext (/Users/julia/ifme/client/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)
          at Object.acquireContext (/Users/julia/ifme/client/node_modules/chart.js/dist/Chart.js:7769:49)
          at Chart.construct (/Users/julia/ifme/client/node_modules/chart.js/dist/Chart.js:9324:26)
          at new Chart (/Users/julia/ifme/client/node_modules/chart.js/dist/Chart.js:9311:7)
          at defaultExport.drawChart (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:1002:20)
          at defaultExport.renderLineChart (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:892:11)
          at callAdapter (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:1966:32)
          at renderChart (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:1945:8) undefined

      46 |   }
      47 |
    > 48 |   global.originalLogError(...args);
         |   ^
      49 |
      50 |   return true;
      51 | };

      at console.Object.<anonymous>.global.console.error (app/libs/testHelper.js:48:3)
      at VirtualConsole.<anonymous> (node_modules/jsdom/lib/jsdom/virtual-console.js:29:45)
      at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)
      at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)
      at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)
      at Object.acquireContext (node_modules/chart.js/dist/Chart.js:7769:49)
      at Chart.construct (node_modules/chart.js/dist/Chart.js:9324:26)

    console.error
      Failed to create chart: can't acquire context from the given item

      46 |   }
      47 |
    > 48 |   global.originalLogError(...args);
         |   ^
      49 |
      50 |   return true;
      51 | };

      at console.Object.<anonymous>.global.console.error (app/libs/testHelper.js:48:3)
      at Chart.construct (node_modules/chart.js/dist/Chart.js:9369:12)
      at new Chart (node_modules/chart.js/dist/Chart.js:9311:7)
      at defaultExport.drawChart (node_modules/react-chartkick/dist/react-chartkick.js:1002:20)
      at defaultExport.renderLineChart (node_modules/react-chartkick/dist/react-chartkick.js:892:11)
      at callAdapter (node_modules/react-chartkick/dist/react-chartkick.js:1966:32)
      at renderChart (node_modules/react-chartkick/dist/react-chartkick.js:1945:8)
      at LineChart.__render (node_modules/react-chartkick/dist/react-chartkick.js:2244:6)

    console.error
      Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)
          at module.exports (/Users/julia/ifme/client/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
          at HTMLCanvasElementImpl.getContext (/Users/julia/ifme/client/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)
          at HTMLCanvasElement.getContext (/Users/julia/ifme/client/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)
          at Object.acquireContext (/Users/julia/ifme/client/node_modules/chart.js/dist/Chart.js:7769:49)
          at Chart.construct (/Users/julia/ifme/client/node_modules/chart.js/dist/Chart.js:9324:26)
          at new Chart (/Users/julia/ifme/client/node_modules/chart.js/dist/Chart.js:9311:7)
          at defaultExport.drawChart (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:1002:20)
          at defaultExport.renderLineChart (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:892:11)
          at defaultExport.renderAreaChart (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:952:11)
          at callAdapter (/Users/julia/ifme/client/node_modules/react-chartkick/dist/react-chartkick.js:1966:32) undefined

      46 |   }
      47 |
    > 48 |   global.originalLogError(...args);
         |   ^
      49 |
      50 |   return true;
      51 | };

      at console.Object.<anonymous>.global.console.error (app/libs/testHelper.js:48:3)
      at VirtualConsole.<anonymous> (node_modules/jsdom/lib/jsdom/virtual-console.js:29:45)
      at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)
      at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)
      at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)
      at Object.acquireContext (node_modules/chart.js/dist/Chart.js:7769:49)
      at Chart.construct (node_modules/chart.js/dist/Chart.js:9324:26)

    console.error
      Failed to create chart: can't acquire context from the given item

      46 |   }
      47 |
    > 48 |   global.originalLogError(...args);
         |   ^
      49 |
      50 |   return true;
      51 | };

      at console.Object.<anonymous>.global.console.error (app/libs/testHelper.js:48:3)
      at Chart.construct (node_modules/chart.js/dist/Chart.js:9369:12)
      at new Chart (node_modules/chart.js/dist/Chart.js:9311:7)
      at defaultExport.drawChart (node_modules/react-chartkick/dist/react-chartkick.js:1002:20)
      at defaultExport.renderLineChart (node_modules/react-chartkick/dist/react-chartkick.js:892:11)
      at defaultExport.renderAreaChart (node_modules/react-chartkick/dist/react-chartkick.js:952:11)
      at callAdapter (node_modules/react-chartkick/dist/react-chartkick.js:1966:32)
      at renderChart (node_modules/react-chartkick/dist/react-chartkick.js:1945:8)

Please assign yourself (via the Assignees dropdown), if you do want to work on this issue. Can't find yourself? You need to join our organization.

Check out our Picking Up Issues guide if you haven't already!

yasirazgar commented 1 year ago

@julianguyen as https://github.com/ifmeorg/ifme/issues/2143 is in PR, I am assigning this to myself.