@@ -3,7 +3,7 @@ import { TREND_FIELD, TREND_UP, TREND_DOWN, Y_FIELD } from '../../../../src/plot
3
3
4
4
describe ( 'stock data' , ( ) => {
5
5
it ( 'stock data' , ( ) => {
6
- const yField = [ 'start' , 'end' , 'max' , 'min' ] ;
6
+ const yField : [ string , string , string , string ] = [ 'start' , 'end' , 'max' , 'min' ] ;
7
7
const originalData = [
8
8
{ date : '2015-11-19' , start : 8.18 , max : 8.33 , min : 7.98 , end : 8.32 , volumn : 1810 , money : 14723.56 } ,
9
9
{ date : '2015-11-18' , start : 8.37 , max : 8.6 , min : 8.03 , end : 8.09 , volumn : 2790.37 , money : 23309.19 } ,
@@ -49,7 +49,7 @@ describe('stock data', () => {
49
49
} ) ;
50
50
51
51
it ( 'start = end' , ( ) => {
52
- const yField = [ 'start' , 'end' , 'max' , 'min' ] ;
52
+ const yField : [ string , string , string , string ] = [ 'start' , 'end' , 'max' , 'min' ] ;
53
53
const originalData = [
54
54
{ date : '2015-11-19' , start : 8.18 , max : 8.33 , min : 7.98 , end : 8.18 , volumn : 1810 , money : 14723.56 } ,
55
55
] ;
@@ -70,7 +70,7 @@ describe('stock data', () => {
70
70
} ) ;
71
71
72
72
it ( 'contain invalid value' , ( ) => {
73
- const yField = [ 'start' , 'end' , 'max' , 'min' ] ;
73
+ const yField : [ string , string , string , string ] = [ 'start' , 'end' , 'max' , 'min' ] ;
74
74
const originalData = [
75
75
{ date : '2015-11-19' , start : undefined , max : 8.33 , min : 7.98 , end : null , volumn : 1810 , money : 14723.56 } ,
76
76
] ;
@@ -89,4 +89,33 @@ describe('stock data', () => {
89
89
} ,
90
90
] ) ;
91
91
} ) ;
92
+
93
+ it ( 'does not mutate original data item' , ( ) => {
94
+ const yField : [ string , string , string , string ] = [ 'start' , 'end' , 'max' , 'min' ] ;
95
+ const originalData = [
96
+ { date : '2015-11-19' , start : 8.18 , max : 8.33 , min : 7.98 , end : 8.18 , volumn : 1810 , money : 14723.56 } ,
97
+ ] ;
98
+ const data = getStockData ( originalData , yField ) ;
99
+ expect ( data [ 0 ] ) . not . toBe ( originalData [ 0 ] ) ;
100
+ expect ( data ) . toEqual ( [
101
+ {
102
+ date : '2015-11-19' ,
103
+ start : 8.18 ,
104
+ max : 8.33 ,
105
+ min : 7.98 ,
106
+ end : 8.18 ,
107
+ volumn : 1810 ,
108
+ money : 14723.56 ,
109
+ [ TREND_FIELD ] : TREND_UP ,
110
+ [ Y_FIELD ] : [ 8.18 , 8.18 , 8.33 , 7.98 ] ,
111
+ } ,
112
+ ] ) ;
113
+ } ) ;
114
+
115
+ it ( 'contain invalid data item' , ( ) => {
116
+ const yField : [ string , string , string , string ] = [ 'start' , 'end' , 'max' , 'min' ] ;
117
+ const originalData = [ null ] as unknown as Record < string , any > [ ] ;
118
+ const data = getStockData ( originalData , yField ) ;
119
+ expect ( data ) . toEqual ( [ null ] ) ;
120
+ } ) ;
92
121
} ) ;
0 commit comments