diff --git a/test/spec/chart-factory/chart-factory.js b/test/spec/chart-factory/chart-factory.js new file mode 100644 index 0000000..9b87f9a --- /dev/null +++ b/test/spec/chart-factory/chart-factory.js @@ -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); + }); + }); +}); \ No newline at end of file diff --git a/test/spec/chart-factory/google-chart-factory.js b/test/spec/chart-factory/google-chart-factory.js new file mode 100644 index 0000000..97f42ec --- /dev/null +++ b/test/spec/chart-factory/google-chart-factory.js @@ -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 + }); + }); +}); \ No newline at end of file diff --git a/test/spec/chart-factory/high-chart-factory.js b/test/spec/chart-factory/high-chart-factory.js new file mode 100644 index 0000000..e914be9 --- /dev/null +++ b/test/spec/chart-factory/high-chart-factory.js @@ -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 + }); + }); +}); \ No newline at end of file diff --git a/test/spec/chart-factory/nvd3-chart-factory.js b/test/spec/chart-factory/nvd3-chart-factory.js new file mode 100644 index 0000000..6b97b0a --- /dev/null +++ b/test/spec/chart-factory/nvd3-chart-factory.js @@ -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 + }); + }); +}); \ No newline at end of file diff --git a/test/spec/services/switch-chart.js b/test/spec/services/switch-chart.js index 8a24b02..c1d19da 100644 --- a/test/spec/services/switch-chart.js +++ b/test/spec/services/switch-chart.js @@ -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( @@ -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); }); }); @@ -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( @@ -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) @@ -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( @@ -78,7 +80,7 @@ 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'); @@ -86,7 +88,7 @@ describe("apacheZeppelinGsocApp chartService", function() { 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');