1
1
/* global appendChartID, loadDateFixture, makeDate */
2
2
describe ( 'dc.compositeChart' , function ( ) {
3
3
var id , chart , data , dateDimension , dateValueSumGroup , dateValueNegativeSumGroup ,
4
- dateIdSumGroup , dateGroup ;
4
+ dateIdSumGroup , dateIdNegativeSumGroup , dateGroup ;
5
5
6
6
beforeEach ( function ( ) {
7
7
data = crossfilter ( loadDateFixture ( ) ) ;
8
8
dateDimension = data . dimension ( function ( d ) { return d3 . time . day . utc ( d . dd ) ; } ) ;
9
9
dateValueSumGroup = dateDimension . group ( ) . reduceSum ( function ( d ) { return d . value ; } ) ;
10
10
dateValueNegativeSumGroup = dateDimension . group ( ) . reduceSum ( function ( d ) { return - d . value ; } ) ;
11
11
dateIdSumGroup = dateDimension . group ( ) . reduceSum ( function ( d ) { return d . id ; } ) ;
12
+ dateIdNegativeSumGroup = dateDimension . group ( ) . reduceSum ( function ( d ) { return - d . id ; } ) ;
12
13
dateGroup = dateDimension . group ( ) ;
13
14
14
15
id = 'composite-chart' ;
@@ -598,9 +599,9 @@ describe('dc.compositeChart', function () {
598
599
chart
599
600
. compose ( [
600
601
leftChart = dc . barChart ( chart )
601
- . group ( dateIdSumGroup , 'Date Value Group' ) ,
602
+ . group ( dateIdSumGroup , 'Date ID Group' ) ,
602
603
rightChart = dc . lineChart ( chart )
603
- . group ( dateValueNegativeSumGroup , 'Date ID Group' )
604
+ . group ( dateValueNegativeSumGroup , 'Date Value Group' )
604
605
. useRightYAxis ( true )
605
606
] )
606
607
. render ( ) ;
@@ -621,6 +622,35 @@ describe('dc.compositeChart', function () {
621
622
} ) ;
622
623
} ) ;
623
624
} ) ;
625
+
626
+ describe ( 'when composing left and right axes charts with negative values' , function ( ) {
627
+ var leftChart , rightChart ;
628
+ beforeEach ( function ( ) {
629
+ chart
630
+ . compose ( [
631
+ leftChart = dc . barChart ( chart )
632
+ . group ( dateIdNegativeSumGroup , 'Date ID Group' ) ,
633
+ rightChart = dc . lineChart ( chart )
634
+ . group ( dateValueNegativeSumGroup , 'Date Value Group' )
635
+ . useRightYAxis ( true )
636
+ ] )
637
+ . render ( ) ;
638
+ } ) ;
639
+
640
+ it ( 'the axis baselines shouldn\'t match' , function ( ) {
641
+ expect ( leftChart . y ( ) ( 0 ) ) . not . toEqual ( rightChart . y ( ) ( 0 ) ) ;
642
+ } ) ;
643
+
644
+ describe ( 'with alignYAxes' , function ( ) {
645
+ beforeEach ( function ( ) {
646
+ chart . alignYAxes ( true )
647
+ . render ( ) ;
648
+ } ) ;
649
+ it ( 'the axis baselines should match' , function ( ) {
650
+ expect ( leftChart . y ( ) ( 0 ) ) . toEqual ( rightChart . y ( ) ( 0 ) ) ;
651
+ } ) ;
652
+ } ) ;
653
+ } ) ;
624
654
} ) ;
625
655
626
656
describe ( 'sub-charts with different filter types' , function ( ) {
0 commit comments