describe('c3 api axis', function () { 'use strict'; var chart, args; beforeEach(function (done) { chart = window.initChart(chart, args, done); }); describe('axis.labels', function () { it('should update args', function () { args = { data: { columns: [ ['data1', 30, 200, 100], ['data2', 50, 20, 10] ], axes: { data1: 'y', data2: 'y2' } }, axis: { y: { label: 'Y Axis Label' }, y2: { show: true, label: 'Y2 Axis Label' } } }; expect(true).toBeTruthy(); }); it('should update y axis label', function () { chart.axis.labels({y: 'New Y Axis Label'}); var label = d3.select('.c3-axis-y-label'); expect(label.text()).toBe('New Y Axis Label'); expect(label.attr('dx')).toBe('-0.5em'); expect(label.attr('dy')).toBe('1.2em'); }); it('should update y axis label', function () { chart.axis.labels({y2: 'New Y2 Axis Label'}); var label = d3.select('.c3-axis-y2-label'); expect(label.text()).toBe('New Y2 Axis Label'); expect(label.attr('dx')).toBe('-0.5em'); expect(label.attr('dy')).toBe('-0.5em'); }); }); describe('isShown', function(){ it('should get value', function(){ args = { data: { columns: [ ['data1', 30, 200, 100], ['data2', 50, 20, 10] ], }, axis: { x: { show: true }, y: { show: true, } } }; chart = window.initChart(chart, args); expect(chart.axis.isXShown()).toBe(true); expect(chart.axis.isYShown()).toBe(true); args.axis.x.show = false; args.axis.y.show = false; chart = window.initChart(chart, args); expect(chart.axis.isXShown()).toBe(false); expect(chart.axis.isYShown()).toBe(false); }); it('should set value', function(){ chart.axis.isXShown(true); expect(chart.axis.isXShown()).toBe(true); expect(chart.axis.isYShown()).toBe(false); chart.axis.isYShown(true); expect(chart.axis.isXShown()).toBe(true); expect(chart.axis.isYShown()).toBe(true); chart.axis.isXShown(false); expect(chart.axis.isXShown()).toBe(false); expect(chart.axis.isYShown()).toBe(true); chart.axis.isYShown(false); expect(chart.axis.isXShown()).toBe(false); expect(chart.axis.isYShown()).toBe(false); }); it('should actualy show and hide axis', function(){ function check(axis, prop){ expect(d3.select('.c3-axis-' + axis).style('visibility')).toBe(prop); } args = { data: { columns: [ ['data1', 30, 200, 100], ['data2', 50, 20, 10] ], }, axis: { x: { show: true }, y: { show: true, } } }; chart = window.initChart(chart, args); chart.axis.isXShown(false); check('x', 'hidden'); check('y', 'visible'); chart.axis.isYShown(false); check('x', 'hidden'); check('y', 'hidden'); chart.axis.isXShown(true); check('x', 'visible'); check('y', 'hidden'); chart.axis.isYShown(true); check('x', 'visible'); check('y', 'visible'); }); }); });