UNPKG

@fusioncharts/fusiontime

Version:

FusionCharts JavaScript time-series charting framework

1 lines 9.89 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _areaRange=_interopRequireDefault(require("./area-range"));var _index=_interopRequireDefault(require("../../../../../fusioncharts/core/index"));var _index2=require("../../../index");var _fcDatatable=_interopRequireDefault(require("../../../../../fc-datatable"));var _utitilies=require("../../../../../../dev-tests/viz/utitilies");var _lib=require("@fusioncharts/core/src/lib");_index.default.addDep(_index2.TimeSeries);var firstDate=new Date("Sat Feb 01 2014 21:06:00").getTime(),timeGap=new Date("Sat Feb 02 2014 21:06:00").getTime()-firstDate,timeSpan=4*timeGap,pixelRange=[0,45],curBin=[{name:function name(){return"day"}},1,864e5],lineIndices=[0,1,2],xScale={bins:[],getDomain:function getDomain(){return{startDomain:13912128e5,endDomain:13912236e5}},getRangeValue:function getRangeValue(v){return v*1.5},getDomainValue:function getDomainValue(v){var ratio=Math.abs(pixelRange[0]-v)/(pixelRange[1]-pixelRange[0]);return new Date(firstDate+ratio*timeSpan)},getBinIndex:function getBinIndex(curTimeStamp,startTimeStamp){if(startTimeStamp===void 0){startTimeStamp=firstDate}return(curTimeStamp-startTimeStamp)/curBin[2]},_getRangeThreshold:function _getRangeThreshold(){return curBin},showPlotOverTick:function showPlotOverTick(){return true},getBinBounds:function getBinBounds(){return _lib.UNDEF}},yScale={getRangeValue:function getRangeValue(){return 3}},areaDataObj={hoverIndices:true,data:[[{base:3,start:13912128e5,end:13912164e5,config:{duration:{Unit:"Hour",number:1,ms:36e5}},outputFormat:"%b %e, %Y %I%p"},1,2],[{base:3,start:13912164e5,end:139122e7,config:{duration:{Unit:"Hour",number:1,ms:36e5}},outputFormat:"%b %e, %Y %I%p"},-1.2,-1],[{base:3,start:139122e7,end:13912236e5,config:{duration:{Unit:"Hour",number:1,ms:36e5}},outputFormat:"%b %e, %Y %I%p"},4,1]],schema:[{name:"starttime",type:"interval",format:"%b %e, %Y %I%p"},{name:"Low",type:"number"},{name:"High",type:"number"}],style:{fill:"AFD8F8",stroke:"AFD8F8"},series:"India",isAggregated:true,visibility:"visible"};describe("To validate that there is no crossover of area-range",(function(){var areaRange,graphicalElements;beforeEach((function(){areaRange=new _areaRange.default;graphicalElements={};areaRange.addGraphicalElement=function(obj){graphicalElements[obj.label]=obj};areaRange.getGraphicalElement=function(label){return graphicalElements[label]};areaRange.addToEnv("xScale",xScale);areaRange.addToEnv("yScale",yScale);areaRange.config.data=areaDataObj.data;areaRange.config.measures=["FusionTime"];areaRange.config.seriesInfo={state:"FusionTime"};areaRange.config.dataInfo=areaDataObj;areaRange.config.indices=lineIndices;areaRange.config.prediction={enabled:false};areaRange.addToEnv("binDecider",{getRangeThreshold:function getRangeThreshold(){return[0,0,0]}});areaRange.addToEnv("xScale",xScale);areaRange.addToEnv("dateColumn",{format:true});areaRange._isRepositioningNeeded=function(){return true};areaRange.config.nullLinePlotStyle={"stroke-width":2},areaRange.config.linePlotStyle=areaRange.config.predictiveStyleAttributesLine=areaRange.config.nullLinePlotStyle}));afterEach((function(){areaRange=undefined;graphicalElements={}}));it("DataObject will itself swap high and low value",(function(done){areaRange.__setDefaultConfig();areaRange.config.type="area-range";areaRange.config.connectNullData=false;areaRange.config.willInjectNulls=false;areaRange.configureAttributes(areaDataObj);areaRange.allocatePosition();var dataInfo=areaRange.config.dataInfo,keys=Object.keys(dataInfo);expect(dataInfo[keys[0]].highValue).toBe(2);expect(dataInfo[keys[0]].lowValue).toBe(1);expect(dataInfo[keys[1]].highValue).toBe(-1);expect(dataInfo[keys[1]].lowValue).toBe(-1.2);expect(dataInfo[keys[2]].highValue).toBe(4);expect(dataInfo[keys[2]].lowValue).toBe(1);done()}))}));describe("Range chart test case ToolTip hover of datamarker",(function(){var data=[[14832324e5,1.4,4.7],[14833188e5,-1.3,1.9],[14834052e5,-.7,4.3],[14834916e5,-5.5,3.2],[1483578e6,-9.9,-6.6],[14836644e5,-9.6,.1],[14837508e5,-.9,4],[14838372e5,-2.2,2.9],[14839236e5,1.3,2.3],[148401e7,-.3,2.9],[14840964e5,1.1,3.8],[14841828e5,.6,2.1],[14842692e5,-3.4,2.5],[14843556e5,-2.9,2],[1484442e6,-5.7,-2.6],[14845284e5,-8.7,-3.3],[14846148e5,-3.5,-.3],[14847012e5,-.2,7],[14847876e5,2.3,8.5],[1484874e6,5.6,9.5],[14849604e5,.4,5.8],[14850468e5,.1,3.1],[14851332e5,1.5,4.1],[14852196e5,-.2,2.8],[1485306e6,2.3,10.3],[14853924e5,-.8,9.4],[14854788e5,-1.3,4.6],[14855652e5,-.6,5.3],[14856516e5,1.4,5.8],[1485738e6,-3.6,.9],[14858244e5,-2.6],[14859108e5,.8],[14859972e5,2.5],[14860836e5,1.6,4.1],[148617e7,1.3,4.8],[14862564e5,.7,4.6],[14863428e5,-1.1,4.5],[14864292e5,-5.5,-.9],[14865156e5,-8.6,-4.2],[1486602e6,-8.3,-1.6],[14866884e5,-4,.9],[14867748e5,-5.3,-.5],[14868612e5,-5.8,.4],[14869476e5,-4.4,.4],[1487034e6,-4.3,.6],[14871204e5,-4.6,2.7],[14872068e5,1.6,3.2],[14872932e5,2.3,6.2],[14873796e5,4.1],[1487466e6,8.5],[14875524e5,6.8],[14876388e5,2.4,4.9],[14877252e5,.4,4.5],[14878116e5,-5.9,4],[1487898e6,-5.9,1.5],[14879844e5,-6.2,-1.7],[14880708e5,-4.5,2.3],[14881572e5,.9,5.6],[14882436e5,1.6,4.9],[148833e7,-.2,5.5],[14884164e5,-1.8,4.4],[14885028e5,-1.9,3.3],[14885892e5,-4.4,2.5],[14886756e5,.7,4.1],[1488762e6,-6,2.7],[14888484e5,-8.1,-.1],[14889348e5,-10.2,-.5],[14890212e5,-2.3,3.7]],schema=[{name:"Date",type:"date",format:"%Q"},{name:"Low",type:"number"},{name:"High",type:"number"}];var fusionDataStore=new _fcDatatable.default,fusionTable=fusionDataStore.createDataTable(data,schema);var chartData={type:"timeseries",renderAt:_utitilies.CONTAINER_ID,width:500,height:900,dataSource:{data:fusionTable,caption:{text:"Range plots"},chart:{showLegend:1,animation:"0",connectNullData:"1",showtooltip:1},datamarker:[{time:"2017-01-11",timeformat:"%Y-%m-%d",type:"flag",identifier:"X",tooltext:"Custom ToolText on Measure2"}],yAxis:[{plot:[{value:{high:"High",low:"Low"},connectNullData:true,type:"area-range",name:"Area ranged plot",style:{"plot.null":{fill:"#00ff00"}}}]}]}},chart;beforeEach((function(){chart=(0,_utitilies.setup)(_index.default,chartData)}));afterEach((function(){return chart.dispose()}));it("Tooltip of datamarker must show correct values",(function(done){chart.addEventListener("renderComplete",(function(e){e.detachHandler();var markerGroup=document.querySelector('[class$="markerGroup-thermo"]');var paths=markerGroup.getElementsByTagName("path");paths[1].dispatchEvent(new MouseEvent("mouseover",{bubbles:true,clientX:144,clientY:296}));setTimeout((function(){var toolTipMarker=document.querySelector('[class="fc__tooltip fusioncharts-div"]'),div=toolTipMarker.getElementsByTagName("div");expect(div[5].innerText).toBe("high");expect(div[8].innerText).toBe("low");done()}),100)}));chart.render()}))}));describe("Range chart test case incorrect format data",(function(){var data=[[14832324e5,1.4,4.7],[14833188e5,-1.3,1.9],[14834052e5,-.7,4.3],[14834916e5,-5.5,3.2],[1483578e6,-9.9,-6.6],[14836644e5,-9.6,.1],[14837508e5,-.9,4],[14838372e5,-2.2,2.9],[14839236e5,1.3,2.3],[148401e7,-.3,2.9],[14840964e5,1.1,3.8],[14841828e5,.6,2.1],[14842692e5,-3.4,2.5],[14843556e5,-2.9,2],[1484442e6,-5.7,-2.6],[14845284e5,-8.7,-3.3],[14846148e5,-3.5,-.3],[14847012e5,-.2,7],[14847876e5,2.3,8.5],[1484874e6,5.6,9.5],[14849604e5,.4,5.8],[14850468e5,.1,3.1],[14851332e5,1.5,4.1],[14852196e5,-.2,2.8],[1485306e6,2.3,10.3],[14853924e5,-.8,9.4],[14854788e5,-1.3,4.6],[14855652e5,-.6,5.3],[14856516e5,1.4,5.8],[1485738e6,-3.6,.9],[14858244e5,-2.6],[14859108e5,.8],[14859972e5,2.5],[14860836e5,1.6,4.1],[148617e7,1.3,4.8],[14862564e5,.7,4.6],[14863428e5,-1.1,4.5],[14864292e5,-5.5,-.9],[14865156e5,-8.6,-4.2],[1486602e6,-8.3,-1.6],[14866884e5,-4,.9],[14867748e5,-5.3,-.5],[14868612e5,-5.8,.4],[14869476e5,-4.4,.4],[1487034e6,-4.3,.6],[14871204e5,-4.6,2.7],[14872068e5,1.6,3.2],[14872932e5,2.3,6.2],[14873796e5,4.1],[1487466e6,8.5],[14875524e5,6.8],[14876388e5,2.4,4.9],[14877252e5,.4,4.5],[14878116e5,-5.9,4],[1487898e6,-5.9,1.5],[14879844e5,-6.2,-1.7],[14880708e5,-4.5,2.3],[14881572e5,.9,5.6],[14882436e5,1.6,4.9],[148833e7,-.2,5.5],[14884164e5,-1.8,4.4],[14885028e5,-1.9,3.3],[14885892e5,-4.4,2.5],[14886756e5,.7,4.1],[1488762e6,-6,2.7],[14888484e5,-8.1,-.1],[14889348e5,-10.2,-.5],[14890212e5,-2.3,3.7]],schema=[{name:"Date",type:"date",format:"%Q"},{name:"Low",type:"number"},{name:"High",type:"number"}];var fusionDataStore=new _fcDatatable.default,fusionTable=fusionDataStore.createDataTable(data,schema);var chartData={type:"timeseries",renderAt:_utitilies.CONTAINER_ID,width:"100%",height:900,dataSource:{data:fusionTable,caption:{text:"Range plots"},chart:{showLegend:1,animation:"0",connectNullData:"1",showtooltip:1},yAxis:[{plot:[{value:{high:"High",low:"Low"},connectNullData:true,type:"area-range",name:"Area ranged plot",style:{"plot.null":{fill:"#00ff00"}}}]}]}},chart;beforeEach((function(){chart=(0,_utitilies.setup)(_index.default,chartData)}));afterEach((function(){return chart.dispose()}));it("Data with only one of the high and low value will be skipped drawing",(function(done){var UNDEF;chart.addEventListener("renderComplete",(function(e){e.detachHandler();var area=chart.apiInstance.getDatasets()[0],data=area.config.dataInfo;expect(data[34]).toBe(UNDEF);done()}));chart.render()}));it("Hovering over null data should show vertical crossline",(function(done){chartData.width=500;chart=(0,_utitilies.setup)(_index.default,chartData);chart.addEventListener("renderComplete",(function(e){e.detachHandler();var path=document.querySelector('[class$="line-plot-meso"]').getElementsByTagName("path")[0];path.dispatchEvent(new MouseEvent("mouseover",{bubbles:true,clientX:251,clientY:399}));setTimeout((function(){var text=document.querySelector('[class$="veritcal-crossline-marker-group"').getElementsByTagName("text")[0];expect(text.innerHTML).toBe("January 31, 2017");done()}),100)}));chart.render()}))}));