mirror of
				https://github.com/KevinMidboe/vue-chartjs.git
				synced 2025-10-29 18:00:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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()
 | 
						|
    })
 | 
						|
  })
 | 
						|
})
 |