2
2
// jest.mock('grafana/app/core/time_series2');
3
3
// jest.mock('grafana/app/plugins/sdk');
4
4
5
+ import { $GF , GFCONSTANT } from '../src/globals_class' ;
5
6
import { Rule } from '../src/rule_class' ;
6
-
7
+ const $scope = require ( '$scope' ) ;
8
+ const templateSrv = { } ;
9
+ const dashboard = { } ;
10
+ const ctrl = {
11
+ notify : jest . fn ( ) ,
12
+ clearNotify : jest . fn ( ) ,
13
+ } ;
14
+ const $gf = $GF . create ( $scope , templateSrv , dashboard , ctrl ) ;
7
15
8
16
describe ( 'Rule' , ( ) => {
9
- const data = Rule . getDefaultData ( ) ;
10
17
11
18
describe ( 'New' , ( ) => {
12
- const rule = new Rule ( '/.*/' , data ) ;
19
+ let data ;
20
+ let rule ;
21
+ beforeEach ( ( ) => {
22
+ data = Rule . getDefaultData ( ) ;
23
+ rule = new Rule ( $gf , '/.*/' , data ) ;
24
+ } ) ;
13
25
test ( 'Should be equals' , ( ) => {
14
26
expect ( rule . getData ( ) ) . toMatchSnapshot ( ) ;
15
27
} ) ;
16
28
} ) ;
17
29
18
30
describe ( 'Shape' , ( ) => {
19
31
const pattern = '/.*Toto.*/' ;
32
+ let data ;
33
+ let rule ;
34
+ beforeEach ( ( ) => {
35
+ data = Rule . getDefaultData ( ) ;
36
+ rule = new Rule ( $gf , '/.*/' , data ) ;
37
+ } ) ;
20
38
21
- describe ( 'Create' , ( ) => {
22
- test . skip ( 'addshape & remove' , ( ) => {
23
- const rule = new Rule ( '/.*/' , data ) ;
24
- rule . addShapeMap ( pattern ) ;
25
- expect ( rule . getShapeMaps ( ) . length ) . toBe ( 1 ) ;
26
- rule . removeShapeMap ( 0 ) ;
27
- expect ( rule . getShapeMaps ( ) . length ) . toBe ( 0 ) ;
28
- } ) ;
39
+ test ( 'addshape & remove' , ( ) => {
40
+ rule . addShapeMap ( pattern ) ;
41
+ expect ( rule . getShapeMaps ( ) . length ) . toBe ( 1 ) ;
42
+ rule . removeShapeMap ( 0 ) ;
43
+ expect ( rule . getShapeMaps ( ) . length ) . toBe ( 0 ) ;
29
44
} ) ;
30
45
31
46
describe ( 'Match' , ( ) => {
32
47
test ( 'Match on one' , ( ) => {
33
- const rule = new Rule ( '/.*/' , data ) ;
48
+ const rule = new Rule ( $gf , '/.*/' , data ) ;
34
49
rule . addShapeMap ( pattern ) ;
35
50
const sm = rule . getShapeMap ( 0 ) ;
36
51
sm . match ( 'Toto' ) ;
37
52
expect ( sm . match ( 'Toto' ) ) . toBeTruthy ( ) ;
38
53
} ) ;
39
54
40
55
test ( 'Match on all' , ( ) => {
41
- const rule = new Rule ( '/.*/' , data ) ;
56
+ const rule = new Rule ( $gf , '/.*/' , data ) ;
42
57
rule . addShapeMap ( pattern ) ;
43
58
expect ( rule . matchShape ( 'Toto' ) ) . toBeTruthy ( ) ;
44
59
expect ( rule . matchShape ( 'Tata' ) ) . toBeFalsy ( ) ;
45
60
} ) ;
46
61
} ) ;
47
62
48
63
describe ( 'Colorize' , ( ) => {
49
- const rule = new Rule ( '/.*/' , data ) ;
50
- // rule.data.thresholds = [50, 80] ;
51
- rule . addThreshold ( undefined , " COLOR1" , 50 ) ;
52
- rule . addThreshold ( undefined , " COLOR2" , 80 ) ;
64
+ data = Rule . getDefaultData ( ) ;
65
+ rule = new Rule ( $gf , '/.*/' , data ) ;
66
+ rule . addThreshold ( undefined , ' COLOR1' , 50 ) ;
67
+ rule . addThreshold ( undefined , ' COLOR2' , 80 ) ;
53
68
const shape = rule . addShapeMap ( pattern ) ;
54
69
55
70
test ( 'isEligible always ERR should be true' , ( ) => {
@@ -72,59 +87,71 @@ describe('Rule', () => {
72
87
} ) ;
73
88
74
89
describe ( 'Text' , ( ) => {
90
+ let data , $gf , rule ;
75
91
const pattern = '/.*Toto.*/' ;
76
-
92
+ beforeEach ( ( ) => {
93
+ data = Rule . getDefaultData ( ) ;
94
+ $gf = $GF . create ( $scope , templateSrv , dashboard , ctrl ) ;
95
+ rule = new Rule ( $gf , '/.*/' , data ) ;
96
+ } )
77
97
test ( 'addshape & remove' , ( ) => {
78
- const rule = new Rule ( '/.*/' , data ) ;
98
+ rule = new Rule ( $gf , '/.*/' , data ) ;
79
99
rule . addTextMap ( pattern ) ;
80
100
expect ( rule . getTextMaps ( ) . length ) . toBe ( 1 ) ;
81
101
rule . removeTextMap ( 0 ) ;
82
102
expect ( rule . getTextMaps ( ) . length ) . toBe ( 0 ) ;
83
103
} ) ;
84
104
85
105
test ( 'Match on one' , ( ) => {
86
- const rule = new Rule ( '/.*/' , data ) ;
106
+ const rule = new Rule ( $gf , '/.*/' , data ) ;
87
107
rule . addTextMap ( pattern ) ;
88
108
const sm = rule . getTextMap ( 0 ) ;
89
109
expect ( sm . match ( 'Toto' ) ) . toBeTruthy ( ) ;
90
110
} ) ;
91
111
92
112
test ( 'Match on all' , ( ) => {
93
- const rule = new Rule ( '/.*/' , data ) ;
113
+ const rule = new Rule ( $gf , '/.*/' , data ) ;
94
114
rule . addTextMap ( pattern ) ;
95
115
expect ( rule . matchText ( 'Toto' ) ) . toBeTruthy ( ) ;
96
116
expect ( rule . matchText ( 'Tata' ) ) . toBeFalsy ( ) ;
97
117
} ) ;
98
118
} ) ;
99
119
100
120
describe ( 'Link' , ( ) => {
101
- const pattern = '/.*Toto.*/' ;
121
+ let data , $gf , rule , pattern ;
122
+ beforeEach ( ( ) => {
123
+ data = Rule . getDefaultData ( ) ;
124
+ rule = new Rule ( $gf , '/.*/' , data ) ;
125
+ pattern = '/.*Toto.*/' ;
126
+ } )
102
127
test ( 'addshape & remove' , ( ) => {
103
- const rule = new Rule ( '/.*/' , data ) ;
104
128
rule . addLinkMap ( pattern ) ;
105
129
expect ( rule . getLinkMaps ( ) . length ) . toBe ( 1 ) ;
106
130
rule . removeLinkMap ( 0 ) ;
107
131
expect ( rule . getLinkMaps ( ) . length ) . toBe ( 0 ) ;
108
132
} ) ;
109
133
110
134
test ( 'Match on one' , ( ) => {
111
- const rule = new Rule ( '/.*/' , data ) ;
112
135
rule . addLinkMap ( pattern ) ;
113
136
const sm = rule . getLinkMap ( 0 ) ;
114
137
expect ( sm . match ( 'Toto' ) ) . toBeTruthy ( ) ;
115
138
} ) ;
116
139
117
140
test ( 'Match on all' , ( ) => {
118
- const rule = new Rule ( '/.*/' , data ) ;
119
141
rule . addLinkMap ( pattern ) ;
120
142
expect ( rule . matchLink ( 'Toto' ) ) . toBeTruthy ( ) ;
121
143
expect ( rule . matchLink ( 'Tata' ) ) . toBeFalsy ( ) ;
122
144
} ) ;
123
145
} ) ;
124
146
125
147
describe ( 'ValueMap' , ( ) => {
148
+ let data , rule ;
149
+ beforeEach ( ( ) => {
150
+ data = Rule . getDefaultData ( ) ;
151
+ rule = new Rule ( $gf , '/.*/' , data ) ;
152
+ } )
126
153
test ( 'addshape & remove' , ( ) => {
127
- const rule = new Rule ( '/.*/' , data ) ;
154
+ const rule = new Rule ( $gf , '/.*/' , data ) ;
128
155
rule . data . mappingType = 1 ;
129
156
rule . addValueMap ( 1 , 'This 1' ) ;
130
157
expect ( rule . getValueMaps ( ) . length ) . toBe ( 1 ) ;
@@ -133,7 +160,7 @@ describe('Rule', () => {
133
160
} ) ;
134
161
135
162
test ( 'Mapping values' , ( ) => {
136
- const rule = new Rule ( '/.*/' , data ) ;
163
+ const rule = new Rule ( $gf , '/.*/' , data ) ;
137
164
rule . data . mappingType = 1 ;
138
165
rule . data . type = 'string' ;
139
166
rule . addValueMap ( 1 , 'This 1' ) ;
@@ -145,8 +172,12 @@ describe('Rule', () => {
145
172
} ) ;
146
173
147
174
describe ( 'RangeMap' , ( ) => {
175
+ let data , rule ;
176
+ beforeEach ( ( ) => {
177
+ data = Rule . getDefaultData ( ) ;
178
+ rule = new Rule ( $gf , '/.*/' , data ) ;
179
+ } )
148
180
test ( 'addshape & remove' , ( ) => {
149
- const rule = new Rule ( '/.*/' , data ) ;
150
181
rule . data . mappingType = 2 ;
151
182
rule . data . type = 'string' ;
152
183
rule . addRangeMap ( 0 , 5 , 'Between 0 and 5' ) ;
@@ -156,7 +187,6 @@ describe('Rule', () => {
156
187
} ) ;
157
188
158
189
test ( 'Mapping values' , ( ) => {
159
- const rule = new Rule ( '/.*/' , data ) ;
160
190
rule . data . mappingType = 2 ;
161
191
rule . data . type = 'string' ;
162
192
rule . addRangeMap ( 0 , 5 , 'Between 0 and 5' ) ;
@@ -167,7 +197,6 @@ describe('Rule', () => {
167
197
} ) ;
168
198
169
199
test ( 'Mapping values upper and lower' , ( ) => {
170
- const rule = new Rule ( '/.*/' , data ) ;
171
200
rule . data . mappingType = 2 ;
172
201
rule . data . type = 'string' ;
173
202
rule . addRangeMap ( undefined , 33 , 'Lower than 33' ) ;
@@ -180,12 +209,16 @@ describe('Rule', () => {
180
209
} ) ;
181
210
182
211
describe ( 'Text replace' , ( ) => {
183
- const data = Rule . getDefaultData ( ) ;
184
- const rule = new Rule ( '/.*/' , data ) ;
185
- const text = 'This is my value' ;
186
- const patternText = '/value/' ;
187
- const formattedValue = '12.34' ;
188
- const tm = rule . addTextMap ( '' ) ;
212
+ let data , rule , text , patternText , formattedValue , tm
213
+ beforeEach ( ( ) => {
214
+ data = Rule . getDefaultData ( ) ;
215
+ rule = new Rule ( $gf , '/.*/' , data ) ;
216
+ text = 'This is my value' ;
217
+ patternText = '/value/' ;
218
+ formattedValue = '12.34' ;
219
+ tm = rule . addTextMap ( '' ) ;
220
+ } ) ;
221
+
189
222
test ( 'All content' , ( ) => {
190
223
expect ( tm . getReplaceText ( text , formattedValue ) ) . toBe ( '12.34' ) ;
191
224
} ) ;
0 commit comments