@@ -34,6 +34,7 @@ define(
34
34
mockUnsubscribe ,
35
35
telemetry ,
36
36
mockTelemetryAPI ,
37
+ mockMetadata ,
37
38
mockAPI ;
38
39
39
40
function mockPromise ( value ) {
@@ -90,14 +91,23 @@ define(
90
91
"findRequestProvider" ,
91
92
"findSubscriptionProvider"
92
93
] ) ;
93
- mockTelemetryAPI . getMetadata . andReturn ( {
94
- valuesForHints : function ( hint ) {
95
- var metadatum = { } ;
96
- metadatum [ hint ] = "foo" ;
97
- return [ metadatum ] ;
98
- }
94
+
95
+ mockMetadata = jasmine . createSpyObj ( 'telemetryMetadata' , [
96
+ 'valuesForHints' ,
97
+ 'values'
98
+ ] ) ;
99
+
100
+ mockMetadata . valuesForHints . andCallFake ( function ( hints ) {
101
+ var hint = hints [ 0 ] ;
102
+ var metadatum = {
103
+ key : 'default' + hint
104
+ } ;
105
+ metadatum [ hint ] = "foo" ;
106
+ return [ metadatum ] ;
99
107
} ) ;
100
108
109
+ mockTelemetryAPI . getMetadata . andReturn ( mockMetadata ) ;
110
+
101
111
mockAPI = {
102
112
telemetry : mockTelemetryAPI ,
103
113
time : {
@@ -150,8 +160,8 @@ define(
150
160
key : "testKey" , // from model
151
161
start : 42 , // from argument
152
162
domain : 'mockTimeSystem' ,
153
- domains : [ { domain : "foo" } ] ,
154
- ranges : [ { range : "foo" } ]
163
+ domains : [ { domain : "foo" , key : 'defaultdomain' } ] ,
164
+ ranges : [ { range : "foo" , key : 'defaultrange' } ]
155
165
} ] ) ;
156
166
} ) ;
157
167
@@ -172,8 +182,8 @@ define(
172
182
start : 0 ,
173
183
end : 1 ,
174
184
domain : 'mockTimeSystem' ,
175
- domains : [ { domain : "foo" } ] ,
176
- ranges : [ { range : "foo" } ]
185
+ domains : [ { domain : "foo" , key : 'defaultdomain' } ] ,
186
+ ranges : [ { range : "foo" , key : 'defaultrange' } ]
177
187
} ) ;
178
188
} ) ;
179
189
@@ -191,8 +201,8 @@ define(
191
201
start : 0 ,
192
202
end : 1 ,
193
203
domain : 'mockTimeSystem' ,
194
- domains : [ { domain : "foo" } ] ,
195
- ranges : [ { range : "foo" } ]
204
+ domains : [ { domain : "foo" , key : 'defaultdomain' } ] ,
205
+ ranges : [ { range : "foo" , key : 'defaultrange' } ]
196
206
} ) ;
197
207
} ) ;
198
208
@@ -240,6 +250,21 @@ define(
240
250
var mockProvider = { } ;
241
251
var dunzo = false ;
242
252
253
+ mockMetadata . values . andReturn ( [
254
+ {
255
+ key : 'defaultrange' ,
256
+ source : 'prop1'
257
+ } ,
258
+ {
259
+ key : 'defaultdomain' ,
260
+ source : 'prop2'
261
+ } ,
262
+ {
263
+ key : 'prop3' ,
264
+ source : 'prop3'
265
+ }
266
+ ] ) ;
267
+
243
268
mockTelemetryAPI . findRequestProvider . andReturn ( mockProvider ) ;
244
269
mockTelemetryAPI . request . andReturn ( Promise . resolve ( mockTelemetry ) ) ;
245
270
@@ -257,6 +282,18 @@ define(
257
282
expect ( returnedTelemetry . getDomainValue ) . toBeDefined ( ) ;
258
283
expect ( returnedTelemetry . getRangeValue ) . toBeDefined ( ) ;
259
284
expect ( returnedTelemetry . getPointCount ( ) ) . toBe ( 2 ) ;
285
+ // Default domain + remap should work.
286
+ expect ( returnedTelemetry . getDomainValue ( 0 ) ) . toBe ( 'val2' ) ;
287
+ expect ( returnedTelemetry . getDomainValue ( 1 ) ) . toBe ( 'val5' ) ;
288
+ // explicit domain should work
289
+ expect ( returnedTelemetry . getDomainValue ( 0 , 'prop3' ) ) . toBe ( 'val3' ) ;
290
+ expect ( returnedTelemetry . getDomainValue ( 1 , 'prop3' ) ) . toBe ( 'val6' ) ;
291
+ // default range + remap should work
292
+ expect ( returnedTelemetry . getRangeValue ( 0 ) ) . toBe ( 'val1' ) ;
293
+ expect ( returnedTelemetry . getRangeValue ( 1 ) ) . toBe ( 'val4' ) ;
294
+ // explicit range should work
295
+ expect ( returnedTelemetry . getRangeValue ( 0 , 'prop3' ) ) . toBe ( 'val3' ) ;
296
+ expect ( returnedTelemetry . getRangeValue ( 1 , 'prop3' ) ) . toBe ( 'val6' ) ;
260
297
} ) ;
261
298
262
299
} ) ;
@@ -275,8 +312,8 @@ define(
275
312
start : 0 ,
276
313
end : 1 ,
277
314
domain : 'mockTimeSystem' ,
278
- domains : [ { domain : "foo" } ] ,
279
- ranges : [ { range : "foo" } ]
315
+ domains : [ { domain : "foo" , key : "defaultdomain" } ] ,
316
+ ranges : [ { range : "foo" , key : "defaultrange" } ]
280
317
} ]
281
318
) ;
282
319
0 commit comments