Quite good looking graph derived from d3.js http://c3js.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

137 lines
4.1 KiB

describe('c3 chart types', function () {
'use strict';
var chart, args;
beforeEach(function (done) {
chart = window.initChart(chart, args, done);
});
describe('internal.hasArcType', function () {
describe('with data', function () {
beforeAll(function () {
args = {
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25],
['data3', 150, 120, 110, 140, 115, 125]
],
type: 'pie'
}
};
});
it('should return true', function () {
expect(chart.internal.hasArcType()).toBeTruthy();
});
describe('should change chart type to "bar"', function () {
beforeAll(function(){
args.data.type = 'bar';
});
it('should return false', function () {
expect(chart.internal.hasArcType()).toBeFalsy();
});
});
});
describe('with empty data', function () {
beforeAll(function () {
args = {
data: {
columns: [],
type: 'pie'
}
};
});
it('should return true', function () {
expect(chart.internal.hasArcType()).toBeTruthy();
});
describe('should change chart type to "bar"', function () {
beforeAll(function(){
args.data.type = 'bar';
});
it('should return false', function () {
expect(chart.internal.hasArcType()).toBeFalsy();
});
});
});
});
describe('internal.hasType', function () {
beforeAll(function () {
args = {
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25],
['data3', 150, 120, 110, 140, 115, 125]
],
type: 'pie'
}
};
});
it('should return true for "pie" type', function () {
expect(chart.internal.hasType('pie')).toBeTruthy();
});
it('should return false for "line" type', function () {
expect(chart.internal.hasType('line')).toBeFalsy();
});
it('should return false for "bar" type', function () {
expect(chart.internal.hasType('bar')).toBeFalsy();
});
describe('should unload successfully', function () {
beforeAll(function(){
chart.unload([]);
});
it('should return true for "pie" type even if no data', function () {
expect(chart.internal.hasType('pie')).toBeTruthy();
});
it('should return false for "line" type even if no data', function () {
expect(chart.internal.hasType('line')).toBeFalsy();
});
it('should return false for "bar" type even if no data', function () {
expect(chart.internal.hasType('bar')).toBeFalsy();
});
describe('should change chart type to "bar" successfully', function () {
beforeAll(function(){
args.data.type = 'bar';
});
it('should return false for "pie" type even if no data', function () {
expect(chart.internal.hasType('pie')).toBeFalsy();
});
it('should return false for "line" type even if no data', function () {
expect(chart.internal.hasType('line')).toBeFalsy();
});
it('should return true for "bar" type even if no data', function () {
expect(chart.internal.hasType('bar')).toBeTruthy();
});
});
});
});
});