@@ -55,7 +55,7 @@ describe('finance charts defaults:', function() {
55
55
expect ( directions ) . toEqual ( [ 'increasing' , 'decreasing' , 'increasing' , 'decreasing' ] ) ;
56
56
} ) ;
57
57
58
- it ( 'unfortunately mutates user trace ' , function ( ) {
58
+ it ( 'should not mutate user data ' , function ( ) {
59
59
var trace0 = Lib . extendDeep ( { } , mock0 , {
60
60
type : 'ohlc'
61
61
} ) ;
@@ -65,18 +65,18 @@ describe('finance charts defaults:', function() {
65
65
} ) ;
66
66
67
67
var out = _supply ( [ trace0 , trace1 ] ) ;
68
- expect ( out . data [ 0 ] . transforms . length ) . toEqual ( 1 ) ;
69
- expect ( out . data [ 0 ] . transforms ) . toEqual ( [ { type : 'ohlc' , _ephemeral : true } ] ) ;
70
- expect ( out . data [ 1 ] . transforms . length ) . toEqual ( 1 ) ;
71
- expect ( out . data [ 1 ] . transforms ) . toEqual ( [ { type : 'candlestick' , _ephemeral : true } ] ) ;
68
+ expect ( out . data [ 0 ] ) . toBe ( trace0 ) ;
69
+ expect ( out . data [ 0 ] . transforms ) . toBeUndefined ( ) ;
70
+ expect ( out . data [ 1 ] ) . toBe ( trace1 ) ;
71
+ expect ( out . data [ 1 ] . transforms ) . toBeUndefined ( ) ;
72
72
73
- // but at least in an idempotent way
73
+ // ... and in an idempotent way
74
74
75
75
var out2 = _supply ( out . data ) ;
76
- expect ( out2 . data [ 0 ] . transforms . length ) . toEqual ( 1 ) ;
77
- expect ( out2 . data [ 0 ] . transforms ) . toEqual ( [ { type : 'ohlc' , _ephemeral : true } ] ) ;
78
- expect ( out2 . data [ 0 ] . transforms . length ) . toEqual ( 1 ) ;
79
- expect ( out2 . data [ 1 ] . transforms ) . toEqual ( [ { type : 'candlestick' , _ephemeral : true } ] ) ;
76
+ expect ( out2 . data [ 0 ] ) . toBe ( trace0 ) ;
77
+ expect ( out2 . data [ 0 ] . transforms ) . toBeUndefined ( ) ;
78
+ expect ( out2 . data [ 1 ] ) . toBe ( trace1 ) ;
79
+ expect ( out2 . data [ 1 ] . transforms ) . toBeUndefined ( ) ;
80
80
} ) ;
81
81
82
82
it ( 'should work with transforms' , function ( ) {
@@ -99,7 +99,15 @@ describe('finance charts defaults:', function() {
99
99
expect ( out . data . length ) . toEqual ( 2 ) ;
100
100
expect ( out . _fullData . length ) . toEqual ( 4 ) ;
101
101
102
- var transformTypes = out . _fullData . map ( function ( fullTrace ) {
102
+ var transformTypesIn = out . data . map ( function ( trace ) {
103
+ return trace . transforms . map ( function ( opts ) {
104
+ return opts . type ;
105
+ } ) ;
106
+ } ) ;
107
+
108
+ expect ( transformTypesIn ) . toEqual ( [ [ 'filter' ] , [ 'filter' ] ] ) ;
109
+
110
+ var transformTypesOut = out . _fullData . map ( function ( fullTrace ) {
103
111
return fullTrace . transforms . map ( function ( opts ) {
104
112
return opts . type ;
105
113
} ) ;
@@ -108,7 +116,7 @@ describe('finance charts defaults:', function() {
108
116
// dummy 'ohlc' and 'candlestick' transforms are pushed at the end
109
117
// of the 'transforms' array container
110
118
111
- expect ( transformTypes ) . toEqual ( [
119
+ expect ( transformTypesOut ) . toEqual ( [
112
120
[ 'filter' , 'ohlc' ] , [ 'filter' , 'ohlc' ] ,
113
121
[ 'filter' , 'candlestick' ] , [ 'filter' , 'candlestick' ]
114
122
] ) ;
0 commit comments