UNPKG

@fusioncharts/fusiontime

Version:

FusionCharts JavaScript time-series charting framework

1 lines 12 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _betweenGroup=_interopRequireDefault(require("./between-group"));var _salesTransaction=_interopRequireDefault(require("../../../../../fc-datatable/sample/data/salesTransaction"));var _salesTransaction2=_interopRequireDefault(require("../../../../../fc-datatable/sample/data/salesTransaction.schema"));var _fcDatatable=_interopRequireDefault(require("../../../../../fc-datatable"));var _operators=require("../../../../../fc-datatable/src/operators");var _datetimeEnums=require("../../../../../fc-utils/src/datetime-enums");function pipedBetweenGroup(dt,filterConfig,groupConfigArr,aggrConfigArr,pivotColumn){var filterOps,groupOps;filterOps=(0,_operators.between)(filterConfig.columnName,filterConfig.startVal,filterConfig.endVal);if(pivotColumn){groupOps=(0,_operators.pivot)(groupConfigArr,pivotColumn,aggrConfigArr)}else{groupOps=(0,_operators.groupBy)(groupConfigArr,aggrConfigArr)}return dt.query((0,_operators.pipe)(filterOps,groupOps))}function formatInsertionData(dataToClean){for(var i=0;i<dataToClean.length;i++){delete dataToClean[i][0].toString}}var dataStore=new _fcDatatable.default,dataTable=dataStore.createDataTable(_salesTransaction.default,_salesTransaction2.default);describe("Composite between group by functionality ",(function(){it("Performs the operation for the first time and store the value in cache store",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),betweenGroupBy=(0,_betweenGroup.default)();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();formatInsertionData(pipedData.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema)}))}));it("Performs the operation consecutively 2 times - the second time the range is within the already calculated range",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},filterConfig2={columnName:"Time",colIndex:0,startVal:+new Date(2017,1,30),endVal:+new Date(2017,2,17)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],betweenGroupBy=(0,_betweenGroup.default)(),pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),pipedData2=pipedBetweenGroup(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).getData();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();return betweenGroupBy(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).then((function(betGrDataTable2){var betGrData2=betGrDataTable2.getData();formatInsertionData(pipedData.data);formatInsertionData(pipedData2.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema);expect(betGrData2.data).toEqual(pipedData2.data);expect(betGrData2.schema).toEqual(pipedData2.schema)}))}))}));it("Performs the operation consecutively 2 times - the second time the range start falls left hand side of already calculated range and new range end falls within the range",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},filterConfig2={columnName:"Time",colIndex:0,startVal:+new Date(2016,10,15),endVal:+new Date(2017,1,15)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],betweenGroupBy=(0,_betweenGroup.default)(),pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),pipedData2=pipedBetweenGroup(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).getData();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();return betweenGroupBy(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).then((function(betGrDataTable2){var betGrData2=betGrDataTable2.getData();formatInsertionData(pipedData.data);formatInsertionData(pipedData2.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema);expect(betGrData2.data).toEqual(pipedData2.data);expect(betGrData2.schema).toEqual(pipedData2.schema)}))}))}));it("Performs the operation consecutively 2 times - the second time the range end falls right hand side of already calculated range and new range start falls within the range",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},filterConfig2={columnName:"Time",colIndex:0,startVal:+new Date(2017,1,15),endVal:+new Date(2017,2,29)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],betweenGroupBy=(0,_betweenGroup.default)(),pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),pipedData2=pipedBetweenGroup(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).getData();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();return betweenGroupBy(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).then((function(betGrDataTable2){var betGrData2=betGrDataTable2.getData();formatInsertionData(pipedData.data);formatInsertionData(pipedData2.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema);expect(betGrData2.data).toEqual(pipedData2.data);expect(betGrData2.schema).toEqual(pipedData2.schema)}))}))}));it("Performs the operation consecutively 2 times - the second time the range is entirely left side of calculated range",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},filterConfig2={columnName:"Time",colIndex:0,startVal:+new Date(2016,9,25),endVal:+new Date(2016,11,29)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],betweenGroupBy=(0,_betweenGroup.default)(),pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),pipedData2=pipedBetweenGroup(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).getData();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();return betweenGroupBy(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).then((function(betGrDataTable2){var betGrData2=betGrDataTable2.getData();formatInsertionData(pipedData.data);formatInsertionData(pipedData2.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema);expect(betGrData2.data).toEqual(pipedData2.data);expect(betGrData2.schema).toEqual(pipedData2.schema)}))}))}));it("Performs the operation consecutively 2 times - the second time the range is entirely right side of calculated range",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},filterConfig2={columnName:"Time",colIndex:0,startVal:+new Date(2016,2,20),endVal:+new Date(2016,4,28)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],betweenGroupBy=(0,_betweenGroup.default)(),pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),pipedData2=pipedBetweenGroup(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).getData();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();return betweenGroupBy(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).then((function(betGrDataTable2){var betGrData2=betGrDataTable2.getData();formatInsertionData(pipedData.data);formatInsertionData(pipedData2.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema);expect(betGrData2.data).toEqual(pipedData2.data);expect(betGrData2.schema).toEqual(pipedData2.schema)}))}))}));it("Performs the operation consecutively many times",(function(){var filterConfig={columnName:"Time",colIndex:0,startVal:+new Date(2017,0,30),endVal:+new Date(2017,2,19)},filterConfig2={columnName:"Time",colIndex:0,startVal:+new Date(2017,1,15),endVal:+new Date(2017,2,29)},filterConfig3={columnName:"Time",colIndex:0,startVal:+new Date(2016,10,18),endVal:+new Date(2017,1,11)},filterConfig4={columnName:"Time",colIndex:0,startVal:+new Date(2016,9,29),endVal:+new Date(2017,2,29)},filterConfig5={columnName:"Time",colIndex:0,startVal:+new Date(2017,2,15),endVal:+new Date(2017,3,27)},filterConfig6={columnName:"Time",colIndex:0,startVal:+new Date(2016,11,10),endVal:+new Date(2017,3,1)},groupConfigArr=[{column:"Time",timeUnit:_datetimeEnums.DatetimeUnits.Day}],aggrConfigArr=[{column:"Transaction",operation:"sum"},{column:"Value",operation:"avg"}],betweenGroupBy=(0,_betweenGroup.default)(),pipedData=pipedBetweenGroup(dataTable,filterConfig,groupConfigArr,aggrConfigArr).getData(),pipedData2=pipedBetweenGroup(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).getData(),pipedData3=pipedBetweenGroup(dataTable,filterConfig3,groupConfigArr,aggrConfigArr).getData(),pipedData4=pipedBetweenGroup(dataTable,filterConfig4,groupConfigArr,aggrConfigArr).getData(),pipedData5=pipedBetweenGroup(dataTable,filterConfig5,groupConfigArr,aggrConfigArr).getData(),pipedData6=pipedBetweenGroup(dataTable,filterConfig6,groupConfigArr,aggrConfigArr).getData();return betweenGroupBy(dataTable,filterConfig,groupConfigArr,aggrConfigArr).then((function(betGrDataTable){var betGrData=betGrDataTable.getData();return betweenGroupBy(dataTable,filterConfig2,groupConfigArr,aggrConfigArr).then((function(betGrDataTable2){var betGrData2=betGrDataTable2.getData();return betweenGroupBy(dataTable,filterConfig3,groupConfigArr,aggrConfigArr).then((function(betGrDataTable3){var betGrData3=betGrDataTable3.getData();return betweenGroupBy(dataTable,filterConfig4,groupConfigArr,aggrConfigArr).then((function(betGrDataTable4){var betGrData4=betGrDataTable4.getData();return betweenGroupBy(dataTable,filterConfig5,groupConfigArr,aggrConfigArr).then((function(betGrDataTable5){var betGrData5=betGrDataTable5.getData();return betweenGroupBy(dataTable,filterConfig6,groupConfigArr,aggrConfigArr).then((function(betGrDataTable6){var betGrData6=betGrDataTable6.getData();formatInsertionData(pipedData.data);formatInsertionData(pipedData2.data);formatInsertionData(pipedData3.data);formatInsertionData(pipedData4.data);formatInsertionData(pipedData5.data);formatInsertionData(pipedData6.data);expect(betGrData.data).toEqual(pipedData.data);expect(betGrData.schema).toEqual(pipedData.schema);expect(betGrData2.data).toEqual(pipedData2.data);expect(betGrData2.schema).toEqual(pipedData2.schema);expect(betGrData3.data).toEqual(pipedData3.data);expect(betGrData3.schema).toEqual(pipedData3.schema);expect(betGrData4.data).toEqual(pipedData4.data);expect(betGrData4.schema).toEqual(pipedData4.schema);expect(betGrData5.data).toEqual(pipedData5.data);expect(betGrData5.schema).toEqual(pipedData5.schema);expect(betGrData6.data).toEqual(pipedData6.data);expect(betGrData6.schema).toEqual(pipedData6.schema)}))}))}))}))}))}))}))}));