@@ -44,7 +44,45 @@ describe('lib/web3/batch', function () {
44
44
batch . execute ( ) ;
45
45
} ) ;
46
46
47
- it ( 'should execute batch request' , function ( done ) {
47
+ it ( 'should execute batch request for async properties' , function ( done ) {
48
+
49
+ var provider = new FakeHttpProvider ( ) ;
50
+ web3 . setProvider ( provider ) ;
51
+ web3 . reset ( ) ;
52
+
53
+ var result = [ ] ;
54
+ var result2 = '0xb' ;
55
+ provider . injectBatchResults ( [ result , result2 ] ) ;
56
+
57
+ var counter = 0 ;
58
+ var callback = function ( err , r ) {
59
+ counter ++ ;
60
+ assert . isArray ( result , r ) ;
61
+ } ;
62
+
63
+ var callback2 = function ( err , r ) {
64
+ assert . equal ( counter , 1 ) ;
65
+ assert . equal ( r , 11 ) ;
66
+ done ( ) ;
67
+ } ;
68
+
69
+ provider . injectValidation ( function ( payload ) {
70
+ var first = payload [ 0 ] ;
71
+ var second = payload [ 1 ] ;
72
+
73
+ assert . equal ( first . method , 'eth_accounts' ) ;
74
+ assert . deepEqual ( first . params , [ ] ) ;
75
+ assert . equal ( second . method , 'net_peerCount' ) ;
76
+ assert . deepEqual ( second . params , [ ] ) ;
77
+ } ) ;
78
+
79
+ var batch = web3 . createBatch ( ) ;
80
+ batch . add ( web3 . eth . getAccounts . request ( callback ) ) ;
81
+ batch . add ( web3 . net . getPeerCount . request ( callback2 ) ) ;
82
+ batch . execute ( ) ;
83
+ } ) ;
84
+
85
+ it ( 'should execute batch request with contract' , function ( done ) {
48
86
49
87
var provider = new FakeHttpProvider ( ) ;
50
88
web3 . setProvider ( provider ) ;
0 commit comments