@@ -166,11 +166,109 @@ describe('Scoring', () => {
166
166
test2 : [ 'all' ]
167
167
}
168
168
let score = score_run ( run , run , focus_area_map )
169
- assert . deepEqual ( score . all , 1000 )
169
+ assert . deepEqual ( score . all ,
170
+ {
171
+ total_tests : 2 ,
172
+ total_score : 2 ,
173
+ per_mille : 1000 ,
174
+ total_subtests : 2 ,
175
+ total_subtests_passed : 2 ,
176
+ per_mille_subtests : 1000
177
+ } )
170
178
171
179
run . test_scores . test2 . score = 0
172
180
score = score_run ( run , run , focus_area_map )
173
- assert . deepEqual ( score . all , 500 )
181
+ assert . deepEqual ( score . all ,
182
+ {
183
+ total_tests : 2 ,
184
+ total_score : 1 ,
185
+ per_mille : 500 ,
186
+ total_subtests : 2 ,
187
+ total_subtests_passed : 1 ,
188
+ per_mille_subtests : 500
189
+ } )
190
+ } )
191
+ it ( 'calculates subtests count' , ( ) => {
192
+ const run = {
193
+ test_scores : {
194
+ test1 : {
195
+ score : 1 ,
196
+ subtests : {
197
+ subtest1 : { score : 1 } ,
198
+ subtest2 : { score : 1 } ,
199
+ subtest3 : { score : 1 }
200
+ }
201
+ } ,
202
+ test2 : {
203
+ score : 0 ,
204
+ subtests : {
205
+ subtest1 : { score : 1 } ,
206
+ subtest2 : { score : 0 } ,
207
+ }
208
+ }
209
+ }
210
+ }
211
+
212
+ const focus_area_map = {
213
+ test1 : [ 'all' ] ,
214
+ test2 : [ 'all' ]
215
+ }
216
+ let score = score_run ( run , run , focus_area_map )
217
+ assert . deepEqual ( score . all ,
218
+ {
219
+ total_tests : 2 ,
220
+ total_score : 1.5 ,
221
+ per_mille : 750 ,
222
+ total_subtests : 5 ,
223
+ total_subtests_passed : 4 ,
224
+ per_mille_subtests : 800
225
+ } )
226
+ } )
227
+ it ( 'calculates subtests counts with simple tests' , ( ) => {
228
+ const run = {
229
+ test_scores : {
230
+ test1 : {
231
+ score : 1 ,
232
+ subtests : {
233
+ subtest1 : { score : 1 } ,
234
+ subtest2 : { score : 1 } ,
235
+ subtest3 : { score : 1 }
236
+ }
237
+ } ,
238
+ test2 : {
239
+ score : 0 ,
240
+ subtests : {
241
+ subtest1 : { score : 1 } ,
242
+ subtest2 : { score : 0 } ,
243
+ }
244
+ } ,
245
+ test3 : {
246
+ score : 1 ,
247
+ subtests : { }
248
+ } ,
249
+ test4 : {
250
+ score : 0 ,
251
+ subtests : { }
252
+ }
253
+ }
254
+ }
255
+
256
+ const focus_area_map = {
257
+ test1 : [ 'all' ] ,
258
+ test2 : [ 'all' ] ,
259
+ test3 : [ 'all' ] ,
260
+ test4 : [ 'all' ]
261
+ }
262
+ let score = score_run ( run , run , focus_area_map )
263
+ assert . deepEqual ( score . all ,
264
+ {
265
+ total_tests : 4 ,
266
+ total_score : 2.5 ,
267
+ per_mille : 625 ,
268
+ total_subtests : 7 ,
269
+ total_subtests_passed : 5 ,
270
+ per_mille_subtests : 714
271
+ } )
174
272
} )
175
273
it ( 'calculates scores for subtests' , ( ) => {
176
274
const run = {
@@ -187,7 +285,15 @@ describe('Scoring', () => {
187
285
}
188
286
189
287
const score = score_run ( run , run , { test1 : [ 'all' ] } )
190
- assert . equal ( score . all , 1000 )
288
+ assert . deepEqual ( score . all ,
289
+ {
290
+ total_tests : 1 ,
291
+ total_score : 1 ,
292
+ per_mille : 1000 ,
293
+ total_subtests : 3 ,
294
+ total_subtests_passed : 3 ,
295
+ per_mille_subtests : 1000
296
+ } )
191
297
} )
192
298
it ( 'calculates scores for subtests by averaging' , ( ) => {
193
299
const run = {
@@ -204,7 +310,15 @@ describe('Scoring', () => {
204
310
}
205
311
206
312
const score = score_run ( run , run , { test1 : [ 'all' ] } )
207
- assert . equal ( score . all , 333 )
313
+ assert . deepEqual ( score . all ,
314
+ {
315
+ total_tests : 1 ,
316
+ total_score : 1 / 3 ,
317
+ per_mille : 333 ,
318
+ total_subtests : 3 ,
319
+ total_subtests_passed : 1 ,
320
+ per_mille_subtests : 333
321
+ } )
208
322
} )
209
323
it ( 'calculates scores correctly even subtest name collides with JS builtins' , ( ) => {
210
324
const run = {
@@ -237,7 +351,15 @@ describe('Scoring', () => {
237
351
}
238
352
239
353
const score = score_run ( run , against_run , { test1 : [ 'all' ] , test2 : [ 'all' ] } )
240
- assert . equal ( score . all , 500 )
354
+ assert . deepEqual ( score . all ,
355
+ {
356
+ total_tests : 2 ,
357
+ total_score : 1 ,
358
+ per_mille : 500 ,
359
+ total_subtests : 2 ,
360
+ total_subtests_passed : 1 ,
361
+ per_mille_subtests : 500
362
+ } )
241
363
} )
242
364
it ( 'calculates scores based only on tests in new runs' , ( ) => {
243
365
const old_run = {
@@ -258,11 +380,26 @@ describe('Scoring', () => {
258
380
test1 : all , test2 : all , test3 : all
259
381
}
260
382
let score = score_run ( old_run , new_run , focus_map )
261
- assert . equal ( score . all , 0 )
262
-
383
+ assert . deepEqual ( score . all ,
384
+ {
385
+ total_tests : 2 ,
386
+ total_score : 0 ,
387
+ per_mille : 0 ,
388
+ total_subtests : 2 ,
389
+ total_subtests_passed : 0 ,
390
+ per_mille_subtests : 0
391
+ } )
263
392
old_run . test_scores . test3 . score = 1
264
393
score = score_run ( old_run , new_run , focus_map )
265
- assert . equal ( score . all , 500 )
394
+ assert . deepEqual ( score . all ,
395
+ {
396
+ total_tests : 2 ,
397
+ total_score : 1 ,
398
+ per_mille : 500 ,
399
+ total_subtests : 2 ,
400
+ total_subtests_passed : 1 ,
401
+ per_mille_subtests : 500
402
+ } )
266
403
} )
267
404
} )
268
405
0 commit comments