mirror of
https://github.com/status-im/web3.js.git
synced 2025-02-22 11:08:33 +00:00
60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
var chai = require('chai');
|
|
var Web3 = require('../index');
|
|
var assert = chai.assert;
|
|
var FakeHttpProvider = require('./helpers/FakeHttpProvider');
|
|
|
|
var method = 'isSyncing';
|
|
|
|
var tests = [{
|
|
args: [],
|
|
formattedArgs: [],
|
|
result: [{
|
|
startingBlock: '0xb',
|
|
currentBlock: '0xb',
|
|
highestBlock: '0xb'
|
|
}],
|
|
formattedResult: {
|
|
startingBlock: 11,
|
|
currentBlock: 11,
|
|
highestBlock: 11
|
|
},
|
|
call: 'eth_syncing'
|
|
}];
|
|
|
|
describe('eth', function () {
|
|
describe(method, function () {
|
|
tests.forEach(function (test, index) {
|
|
it('property test: ' + index, function (done) {
|
|
// given
|
|
var provider = new FakeHttpProvider();
|
|
var web3 = new Web3(provider);
|
|
provider.injectBatchResults(test.result);
|
|
provider.injectValidation(function(payload) {
|
|
assert.equal(payload[0].jsonrpc, '2.0', 'failed');
|
|
assert.equal(payload[0].method, test.call);
|
|
assert.deepEqual(payload[0].params, test.formattedArgs);
|
|
});
|
|
|
|
var count = 1;
|
|
|
|
// TODO results seem to be overwritten
|
|
|
|
|
|
// call
|
|
var syncing = web3.eth[method](function(e, res){
|
|
if(count === 1) {
|
|
assert.isTrue(res);
|
|
count++;
|
|
} else {
|
|
assert.deepEqual(res, test.formattedResult);
|
|
syncing.stopWatching();
|
|
done();
|
|
}
|
|
});
|
|
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|