@@ -258,6 +258,52 @@ describe('CorporateBallot class', () => {
258
258
await expect ( corporateBallot . results ( ) ) . rejects . toThrow ( 'The CorporateBallot does not exist' ) ;
259
259
} ) ;
260
260
261
+ it ( 'should return 0 if no votes have been cast' , async ( ) => {
262
+ const mockRawMeta = createMockCorporateBallotMeta ( mockBallotMeta ) ;
263
+ const meshCorporateBallotMetaToCorporateBallotMetaSpy = jest . spyOn (
264
+ utilsConversionModule ,
265
+ 'meshCorporateBallotMetaToCorporateBallotMeta'
266
+ ) ;
267
+
268
+ when ( meshCorporateBallotMetaToCorporateBallotMetaSpy )
269
+ . calledWith ( mockRawMeta )
270
+ . mockReturnValue ( mockBallotMeta ) ;
271
+
272
+ dsMockUtils . createQueryMock ( 'corporateBallot' , 'metas' , {
273
+ returnValue : dsMockUtils . createMockOption ( dsMockUtils . createMockCodec ( mockRawMeta , false ) ) ,
274
+ } ) ;
275
+ dsMockUtils . createQueryMock ( 'corporateBallot' , 'results' , {
276
+ returnValue : dsMockUtils . createMockVec ( ) ,
277
+ } ) ;
278
+
279
+ const results = await corporateBallot . results ( ) ;
280
+
281
+ expect ( results ) . toEqual ( {
282
+ title : mockBallotMeta . title ,
283
+ motions : [
284
+ {
285
+ title : mockBallotMeta . motions [ 0 ] . title ,
286
+ infoLink : mockBallotMeta . motions [ 0 ] . infoLink ,
287
+ choices : [
288
+ {
289
+ choice : mockBallotMeta . motions [ 0 ] . choices [ 0 ] ,
290
+ votes : new BigNumber ( 0 ) ,
291
+ } ,
292
+ {
293
+ choice : mockBallotMeta . motions [ 0 ] . choices [ 1 ] ,
294
+ votes : new BigNumber ( 0 ) ,
295
+ } ,
296
+ {
297
+ choice : mockBallotMeta . motions [ 0 ] . choices [ 2 ] ,
298
+ votes : new BigNumber ( 0 ) ,
299
+ } ,
300
+ ] ,
301
+ total : new BigNumber ( 0 ) ,
302
+ } ,
303
+ ] ,
304
+ } ) ;
305
+ } ) ;
306
+
261
307
it ( 'should return the results of the CorporateBallot' , async ( ) => {
262
308
const mockResults = [ '100' , '200' , '300' ] ;
263
309
const mockRawMeta = createMockCorporateBallotMeta ( mockBallotMeta ) ;
@@ -359,7 +405,6 @@ describe('CorporateBallot class', () => {
359
405
} ,
360
406
{
361
407
power : mockVotePower2 ,
362
- fallback : dsMockUtils . createMockOption ( ) ,
363
408
} ,
364
409
] ;
365
410
@@ -396,6 +441,55 @@ describe('CorporateBallot class', () => {
396
441
] ,
397
442
} ) ;
398
443
} ) ;
444
+
445
+ it ( 'should return the votes of the CorporateBallot by identity' , async ( ) => {
446
+ const mockRawMeta = createMockCorporateBallotMeta ( mockBallotMeta ) ;
447
+ dsMockUtils . createQueryMock ( 'corporateBallot' , 'metas' , {
448
+ returnValue : dsMockUtils . createMockOption ( dsMockUtils . createMockCodec ( mockRawMeta , false ) ) ,
449
+ } ) ;
450
+
451
+ const meshCorporateBallotMetaToCorporateBallotMetaSpy = jest . spyOn (
452
+ utilsConversionModule ,
453
+ 'meshCorporateBallotMetaToCorporateBallotMeta'
454
+ ) ;
455
+
456
+ when ( meshCorporateBallotMetaToCorporateBallotMetaSpy )
457
+ . calledWith ( mockRawMeta )
458
+ . mockReturnValue ( mockBallotMeta ) ;
459
+
460
+ dsMockUtils . createQueryMock ( 'corporateBallot' , 'votes' , {
461
+ returnValue : dsMockUtils . createMockVec ( ) ,
462
+ } ) ;
463
+
464
+ const votes = await corporateBallot . votesByIdentity ( '12341234-1234-1234-1234-123412341234' ) ;
465
+
466
+ expect ( votes ) . toEqual ( {
467
+ title : mockBallotMeta . title ,
468
+ motions : [
469
+ {
470
+ title : mockBallotMeta . motions [ 0 ] . title ,
471
+ infoLink : mockBallotMeta . motions [ 0 ] . infoLink ,
472
+ choices : [
473
+ {
474
+ choice : mockBallotMeta . motions [ 0 ] . choices [ 0 ] ,
475
+ power : new BigNumber ( 0 ) ,
476
+ fallback : undefined ,
477
+ } ,
478
+ {
479
+ choice : mockBallotMeta . motions [ 0 ] . choices [ 1 ] ,
480
+ power : new BigNumber ( 0 ) ,
481
+ fallback : undefined ,
482
+ } ,
483
+ {
484
+ choice : mockBallotMeta . motions [ 0 ] . choices [ 2 ] ,
485
+ power : new BigNumber ( 0 ) ,
486
+ fallback : undefined ,
487
+ } ,
488
+ ] ,
489
+ } ,
490
+ ] ,
491
+ } ) ;
492
+ } ) ;
399
493
} ) ;
400
494
401
495
describe ( 'method: vote' , ( ) => {
0 commit comments