Skip to content

Commit

Permalink
Adding Test Cases for Chart Factory
Browse files Browse the repository at this point in the history
  • Loading branch information
Madhuka committed Jun 26, 2015
1 parent f3ab625 commit b7785bb
Show file tree
Hide file tree
Showing 5 changed files with 220 additions and 13 deletions.
64 changes: 64 additions & 0 deletions test/spec/chart-factory/chart-factory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
'use strict';
describe("apacheZeppelinGsocApp ChartFactory", function() {
beforeEach(module("apacheZeppelinGsocApp"));
var chartService;
//Mock Chart Factory will extend the ChartFactory
var MyChartFactory;
beforeEach(inject(function(ChartFactory) {
//mockups models
function xChartModel(d) {
return {
c: [{
v: d.Make
}]
};
}

function getXChart(error, rows) {
MyChartFactory.data.rows = rows;
}
var newChartLibrary = {
model: xChartModel,
get: getXChart
};
MyChartFactory = new ChartFactory('MyTestChartLib',
newChartLibrary);
}));
//testing for genric chart factory
describe("Instance", function() {
it(" to be define", function() {
expect(MyChartFactory).toBeDefined();
});
});
describe("Model", function() {
//testing My chart is built in Genric chart model
it("must extend the Genric Chart Model from ChartFactory", function() {
expect(MyChartFactory.libname).toBeDefined();
expect(MyChartFactory.model).toBeDefined();
expect(MyChartFactory.viewModel).toBeDefined();
expect(MyChartFactory.type).toBeDefined();
expect(MyChartFactory.data).toBeDefined();
});
//testing genric chart attribute type are followed by My Charts
it("testing the Genric Google Chart Model", function() {
expect(MyChartFactory).toBeDefined();
expect(MyChartFactory.viewModel).toBeDefined();
expect(MyChartFactory.viewModel instanceof Object).toBe(true);
expect(MyChartFactory.type instanceof Object).toBe(true);
expect(MyChartFactory.data instanceof Object).toBe(true);
});
});
describe("Operations", function() {
//testing genric chart attribute type are followed by Google Charts
it("testing chart library is setted correctly", function() {
expect(MyChartFactory.model instanceof Object).toBe(true);
expect(MyChartFactory.libname).toBe('MyTestChartLib');
});
it("testing set chart Model", function() {
expect(MyChartFactory.model.model instanceof Object).toBe(
true);
expect(MyChartFactory.model.get instanceof Function).toBe(
true);
});
});
});
47 changes: 47 additions & 0 deletions test/spec/chart-factory/google-chart-factory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
'use strict';
describe("apacheZeppelinGsocApp GoogleChartFactory", function() {
beforeEach(module("apacheZeppelinGsocApp"));
var myChart;
beforeEach(inject(function(GoogleChartFactory) {
//making mockchart called mychart from GoogleChartFactory
myChart = GoogleChartFactory;
//mock mychart is GoogleChart
myChart.setChartType('Line');
}));
//testing for google chart factory
describe("Building a Chart", function() {
it(" to be define", function() {
expect(myChart).toBeDefined();
});
});
describe("Model", function() {
//testing Google chart is built in Genric chart model
it("must extend the Genric Chart Model from ChartFactory", function() {
expect(myChart.libname).toBeDefined();
expect(myChart.model).toBeDefined();
expect(myChart.viewModel).toBeDefined();
expect(myChart.type).toBeDefined();
expect(myChart.data).toBeDefined();
});
//testing genric chart attribute type are followed by Google Charts
it("testing the Genric Chart Model attributr type", function() {
expect(myChart.viewModel).toBeDefined();
expect(myChart.viewModel instanceof Object).toBe(true);
expect(myChart.type).toBe('Line');
expect(myChart.data instanceof Object).toBe(true);
});
});
describe("Operations", function() {
it("testing setChartType", function() {
//changing the mockchart type
myChart.setChartType('Bar');
expect(myChart.type).toBe('Bar');
});
});
describe("view model", function() {
it("testing for attributes", function() {
expect(myChart.viewModel.options).toBeDefined();
//to-Do more Testing
});
});
});
47 changes: 47 additions & 0 deletions test/spec/chart-factory/high-chart-factory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
'use strict';
describe("apacheZeppelinGsocApp HighChartFactory", function() {
beforeEach(module("apacheZeppelinGsocApp"));
var myChart;
beforeEach(inject(function(HighChartFactory) {
//making mockchart called mychart from HighChartFactory
myChart = HighChartFactory;
//mock mychart is highChart
myChart.setChartType('Line');
}));
//testing for google chart factory
describe("Building a Chart", function() {
it(" to be define", function() {
expect(myChart).toBeDefined();
});
});
describe("Model", function() {
//testing high chart is built in Genric chart model
it("must extend the Genric Chart Model from ChartFactory", function() {
expect(myChart.libname).toBeDefined();
expect(myChart.model).toBeDefined();
expect(myChart.viewModel).toBeDefined();
expect(myChart.type).toBeDefined();
expect(myChart.data).toBeDefined();
});
//testing genric chart attribute type are followed by high Charts
it("testing the Genric Chart Model attributr type", function() {
expect(myChart.viewModel).toBeDefined();
expect(myChart.viewModel instanceof Object).toBe(true);
expect(myChart.type).toBe('Line');
expect(myChart.data instanceof Object).toBe(true);
});
});
describe("Operations", function() {
it("testing setChartType", function() {
//changing the mockchart type
myChart.setChartType('Bar');
expect(myChart.type).toBe('Bar');
});
});
describe("view model", function() {
it("testing for attributes", function() {
expect(myChart.viewModel).toBeDefined();
//to-Do more Testing
});
});
});
47 changes: 47 additions & 0 deletions test/spec/chart-factory/nvd3-chart-factory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
'use strict';
describe("apacheZeppelinGsocApp NVD3ChartFactory", function() {
beforeEach(module("apacheZeppelinGsocApp"));
var myChart;
beforeEach(inject(function(NVD3ChartFactory) {
//making mockchart called mychart from NVD3ChartFactory
myChart = NVD3ChartFactory;
//mock mychart is NVD3Chart
myChart.setChartType('Line');
}));
//testing for google chart factory
describe("Building a Chart", function() {
it(" to be define", function() {
expect(myChart).toBeDefined();
});
});
describe("Model", function() {
//testing NVD3 chart is built in Genric chart model
it("must extend the Genric Chart Model from ChartFactory", function() {
expect(myChart.libname).toBeDefined();
expect(myChart.model).toBeDefined();
expect(myChart.viewModel).toBeDefined();
expect(myChart.type).toBeDefined();
expect(myChart.data).toBeDefined();
});
//testing genric chart attribute type are followed by NVD3 Charts
it("testing the Genric Chart Model attributr type", function() {
expect(myChart.viewModel).toBeDefined();
expect(myChart.viewModel instanceof Object).toBe(true);
expect(myChart.type).toBe('Line');
expect(myChart.data instanceof Object).toBe(true);
});
});
describe("Operations", function() {
it("testing setChartType", function() {
//changing the mockchart type
myChart.setChartType('Bar');
expect(myChart.type).toBe('Bar');
});
});
describe("view model", function() {
it("testing for attributes", function() {
expect(myChart.viewModel).toBeDefined();
//to-Do more Testing
});
});
});
28 changes: 15 additions & 13 deletions test/spec/services/switch-chart.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ describe("apacheZeppelinGsocApp chartService", function() {
chartService = ChartService;
}));
describe("Google Chart", function() {
it("Google Chart Type Switching", function() {
var googleChart;
beforeEach(function() {
googleChart = chartService.getGoogleChart('Bar');
});
it("switching chart type ", function() {
expect(chartService).toBeDefined();
expect(chartService.getHighChart()).toBeDefined();
expect(chartService.getGoogleChart('Bar').libname).toBe(
Expand All @@ -15,17 +19,15 @@ describe("apacheZeppelinGsocApp chartService", function() {
'BarChart');
expect(chartService.getGoogleChart('Line').viewModel.type).toBe(
'LineChart');
expect(chartService.getGoogleChart('Bar').viewModel.type).toBe(
'BarChart');
});
it("testing the Google Chart View.Model", function() {
expect(chartService.getGoogleChart('Line').viewModel.data instanceof Object)
it("testing Chart view model", function() {
expect(googleChart.viewModel.data instanceof Object)
.toBe(true);
expect(chartService.getGoogleChart('Line').viewModel.cssStyle)
expect(googleChart.viewModel.cssStyle)
.toBe('height:400px; width:500px;');
expect(chartService.getGoogleChart('Line').viewModel.options instanceof Object)
expect(googleChart.viewModel.options instanceof Object)
.toBe(true);
expect(chartService.getGoogleChart('Line').viewModel.options.displayExactValues)
expect(googleChart.viewModel.options.displayExactValues)
.toBe(true);
});
});
Expand All @@ -36,7 +38,7 @@ describe("apacheZeppelinGsocApp chartService", function() {
myHighChart = chartService.getHighChart('Line');
myHighChart.viewModel.xAxis.categories = categories;
});
it("High Chart Type Switching", function() {
it("Switching chart type", function() {
expect(chartService.getHighChart('Line').libname).toBe(
'highxChart');
expect(myHighChart.viewModel.options.chart.type).toBe(
Expand All @@ -52,7 +54,7 @@ describe("apacheZeppelinGsocApp chartService", function() {
expect(chartService.getHighChart('Bar').type).toBe(
'Bar');
});
it("testing the High Chart View.Model", function() {
it("testing the chart view model", function() {
expect(chartService.getHighChart('Line').viewModel.data instanceof Object)
.toBe(false);
expect(chartService.getHighChart('Line').viewModel.size instanceof Object)
Expand All @@ -62,7 +64,7 @@ describe("apacheZeppelinGsocApp chartService", function() {
expect(chartService.getHighChart('Line').viewModel.size.height)
.toBe(300);
});
it("testing the High Chart changing the xAxis.categories", function() {
it("testing the Chart changing the xAxis.categories", function() {
expect(myHighChart.viewModel.xAxis.categories instanceof Array)
.toBe(true);
expect(myHighChart.viewModel.xAxis.categories).toEqual(
Expand All @@ -78,15 +80,15 @@ describe("apacheZeppelinGsocApp chartService", function() {
myNVD3Chart = chartService.getNVD3Chart('Line');
myNVD3Chart.viewModel.data = [1, 2];
});
it("Testing NVD3Chart Data Transform", function() {
it("testing transforming data ", function() {
expect(chartService.getNVD3Chart('Bar').libname).toBe(
'NVD3Chart');
expect(myNVD3Chart.type).toBe('Bar');
expect(myNVD3Chart.viewModel.data).toEqual([1, 2]);
myNVD3Chart.viewModel.data = data;
expect(myNVD3Chart.viewModel.data).toEqual(data);
});
it("Testing NVD3Chart Chart Type Transform", function() {
it("transforming chart tType", function() {
expect(chartService.getNVD3Chart('Line').viewModel.options.chart
.type).toBe(
'lineChart');
Expand Down

0 comments on commit b7785bb

Please sign in to comment.