UNPKG

vue-chartjs

Version:
65 lines (54 loc) 1.52 kB
import Vue from 'vue' import LineChart from 'src/examples/LineExample' describe('LineChart', () => { let el beforeEach(() => { el = document.createElement('div') }) it('should render a canvas', () => { const vm = new Vue({ render: function (createElement) { return createElement( LineChart ) }, components: { LineChart } }).$mount(el) expect(vm.$el.querySelector('#line-chart')).not.to.be.an('undefined') expect(vm.$el.querySelector('canvas')).not.to.be.an('undefined') expect(vm.$el.querySelector('canvas')).not.to.be.an('null') expect(vm.$el.querySelector('canvas')).to.exist }) it('should change id based on prop', () => { const vm = new Vue({ render: function (createElement) { return createElement( LineChart, { props: { chartId: 'linechartprop' } } ) }, components: { LineChart } }).$mount(el) expect(vm.$el.querySelector('#linechartprop')).not.to.be.an('undefined') }) it('should destroy chart instance', (done) => { const vm = new Vue({ render: function (createElement) { return createElement( LineChart ) }, components: { LineChart } }).$mount(el) expect(vm.$children[0]._chart.chart.ctx).not.to.be.null vm.$destroy() vm.$nextTick(() => { vm.$forceUpdate() expect(vm.$children[0]._chart.chart.ctx).to.be.null done() }) }) })