1- /*global describe, it*/
1+ /*global describe, it, before */
22const assert = require ( 'assert' ) ;
33let TestLogger = require ( '../lib/tests/test_logger.js' ) ;
44const Web3 = require ( 'web3' ) ;
@@ -53,36 +53,43 @@ describe('embark.DevFunds', function () {
5353
5454 describe ( '#create, fund, and unlock accounts' , function ( ) {
5555 let provider = new FakeIpcProvider ( ) ;
56- let devFunds = new DevFunds ( { blockchainConfig : config , provider : provider , logger : new TestLogger ( { } ) } ) ;
5756 const web3 = new Web3 ( provider ) ;
57+ let devFunds ;
5858
59- it ( 'should create correct number of accounts' , function ( done ) {
60- provider . injectResult ( [ '0x47d33b27bb249a2dbab4c0612bf9caf4c1950855' ] ) ; // getAccounts - return --dev account
61- devFunds . getCurrentAccounts ( ( ) => {
59+ before ( async ( ) => {
60+ provider . injectResult ( [ '0x47d33b27bb249a2dbab4c0612bf9caf4c1950855' ] ) ; // getAccounts: return --dev account
61+ devFunds = await DevFunds . new ( { blockchainConfig : config , provider : provider , logger : new TestLogger ( { } ) } ) ;
62+ } ) ;
6263
63- provider . injectResult ( '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae' ) ; // createAccount #1
64- provider . injectResult ( '0x22f4d0a3c12e86b4b5f39b213f7e19d048276dab' ) ; // createAccount #2
64+ it ( 'should create correct number of accounts' , function ( done ) {
65+ provider . injectResult ( '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae' ) ; // createAccount #1
66+ provider . injectResult ( '0x22f4d0a3c12e86b4b5f39b213f7e19d048276dab' ) ; // createAccount #2
6567
66- devFunds . createAccounts ( config . account . numAccounts , 'test_password' , ( err ) => {
67- assert . equal ( err , null ) ;
68+ devFunds . createAccounts ( config . account . numAccounts , 'test_password' , ( err ) => {
69+ assert . equal ( err , null ) ;
6870
69- // TODO: make FakeIpcProvider smart enough to keep track of created accounts
70- provider . injectResult ( [ '0x47d33b27bb249a2dbab4c0612bf9caf4c1950855' , '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae' , '0x22f4d0a3c12e86b4b5f39b213f7e19d048276dab' ] ) ;
71+ // TODO: make FakeIpcProvider smart enough to keep track of created accounts
72+ provider . injectResult ( [ '0x47d33b27bb249a2dbab4c0612bf9caf4c1950855' , '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae' , '0x22f4d0a3c12e86b4b5f39b213f7e19d048276dab' ] ) ;
7173
72- web3 . eth . getAccounts ( ) . then ( ( accts ) => {
73- assert . equal ( accts . length , config . account . numAccounts ) ;
74- assert . strictEqual ( accts [ 0 ] , '0x47D33b27Bb249a2DBab4C0612BF9CaF4C1950855' ) ;
75- assert . strictEqual ( accts [ 1 ] , '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe' ) ;
76- assert . strictEqual ( accts [ 2 ] , '0x22F4d0A3C12E86b4b5F39B213f7e19D048276DAb' ) ;
77- done ( ) ;
78- } ) ;
74+ web3 . eth . getAccounts ( ) . then ( ( accts ) => {
75+ assert . equal ( accts . length , config . account . numAccounts ) ;
76+ assert . strictEqual ( accts [ 0 ] , '0x47D33b27Bb249a2DBab4C0612BF9CaF4C1950855' ) ; // --dev acct
77+ assert . strictEqual ( accts [ 1 ] , '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe' ) ; // created acct #1
78+ assert . strictEqual ( accts [ 2 ] , '0x22F4d0A3C12E86b4b5F39B213f7e19D048276DAb' ) ; // created acct #2
79+ done ( ) ;
7980 } ) ;
8081 } ) ;
8182 } ) ;
8283
8384 it ( 'should unlock accounts' , function ( done ) {
84- provider . injectResult ( true ) ; // account #1 unlock result
85- provider . injectResult ( true ) ; // account #2 unlock result
85+ if ( devFunds . accounts . length === 0 ) {
86+ assert . equal ( true , true , "no accounts to unlock" ) ;
87+ return done ( ) ;
88+ }
89+
90+ devFunds . accounts . forEach ( _acct => {
91+ provider . injectResult ( true ) ; // account unlock result
92+ } ) ;
8693
8794 devFunds . unlockAccounts ( devFunds . password , ( errUnlock ) => {
8895 assert . equal ( errUnlock , null ) ;
@@ -92,13 +99,17 @@ describe('embark.DevFunds', function () {
9299
93100 it ( 'should fund accounts' , function ( done ) {
94101
95- provider . injectResult ( '1234567890' ) ; // account #1 balance
96- provider . injectResult ( '1234567890' ) ; // account #2 balance
97- // provider.injectResult('0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe'); // send tx #1
98- // provider.injectResult('0x22F4d0A3C12E86b4b5F39B213f7e19D048276DAb'); // send tx #2
102+ if ( devFunds . accounts . length === 0 ) {
103+ assert . equal ( true , true , "no accounts to fund" ) ;
104+ return done ( ) ;
105+ }
106+ devFunds . accounts . forEach ( _acct => {
107+ provider . injectResult ( '1234567890' ) ; // account balance
108+ // provider.injectResult('0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe'); // send tx response
109+ } ) ;
99110
100111 devFunds . fundAccounts ( devFunds . balance , ( errFundAccounts ) => {
101-
112+
102113 assert . equal ( errFundAccounts , null ) ;
103114
104115 // inject response for web3.eth.getAccounts
0 commit comments