insight-ui-zcash/test/integration/addr.js

53 lines
1.5 KiB
JavaScript
Raw Normal View History

2014-01-09 15:21:16 -08:00
#!/usr/bin/env node
2014-02-11 08:02:28 -08:00
2014-02-04 22:34:46 -08:00
'use strict';
2014-01-09 15:21:16 -08:00
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
2014-02-11 08:02:28 -08:00
var assert = require('assert'),
fs = require('fs'),
2014-02-04 22:34:46 -08:00
Address = require('../../app/models/Address').class(),
TransactionDb = require('../../lib/TransactionDb').class(),
2014-02-03 23:06:03 -08:00
addrValid = JSON.parse(fs.readFileSync('test/integration/addr.json'));
2014-01-09 15:21:16 -08:00
2014-02-11 08:02:28 -08:00
var txDb;
describe('Address balances', function() {
2014-01-09 15:21:16 -08:00
2014-02-04 22:34:46 -08:00
before(function(c) {
txDb = new TransactionDb();
return c();
});
2014-02-11 08:02:28 -08:00
addrValid.forEach(function(v) {
if (v.disabled) {
2014-02-11 08:02:28 -08:00
console.log(v.addr + ' => disabled in JSON');
} else {
2014-02-11 12:06:34 -08:00
it('Address info for: ' + v.addr, function(done) {
this.timeout(5000);
2014-02-11 08:02:28 -08:00
2014-02-04 22:34:46 -08:00
var a = new Address(v.addr, txDb);
a.update(function(err) {
if (err) done(err);
assert.equal(v.addr, a.addrStr);
2014-02-11 08:02:28 -08:00
if (v.txApperances)
assert.equal(v.txApperances, a.txApperances, 'txApperances: ' + a.txApperances);
if (v.totalReceived) assert.equal(v.totalReceived, a.totalReceived, 'received: ' + a.totalReceived);
if (v.totalSent) assert.equal(v.totalSent, a.totalSent, 'send: ' + a.totalSent);
2014-01-14 07:58:45 -08:00
2014-02-05 10:08:39 -08:00
if (v.balance) assert.equal(v.balance, a.balance, 'balance: ' + a.balance);
2014-01-14 07:58:45 -08:00
if (v.transactions) {
2014-01-13 15:38:51 -08:00
2014-02-11 08:02:28 -08:00
v.transactions.forEach(function(tx) {
assert(a.transactions.indexOf(tx) > -1, 'have tx ' + tx);
});
}
done();
});
2014-02-11 08:02:28 -08:00
});
}
2014-01-09 15:21:16 -08:00
});
});