60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
'use strict';
|
|
|
|
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
|
|
|
|
|
|
|
|
var
|
|
assert = require('assert'),
|
|
fs = require('fs'),
|
|
util = require('util'),
|
|
async = require('async'),
|
|
config = require('../../config/config'),
|
|
TransactionDb = require('../../lib/TransactionDb').default();
|
|
|
|
var spentValid = JSON.parse(fs.readFileSync('test/integration/spent.json'));
|
|
|
|
var txDb;
|
|
|
|
describe('TransactionDb Expenses', function(){
|
|
|
|
before(function(c) {
|
|
txDb = TransactionDb;
|
|
|
|
// lets spend!
|
|
async.each(Object.keys(spentValid),
|
|
function(txid,c_out) {
|
|
async.each(spentValid[txid],
|
|
function(i,c_in) {
|
|
txDb.addMany([i.txid], function(err) {
|
|
return c_in();
|
|
});
|
|
},
|
|
function(err) {
|
|
return c_out();
|
|
}
|
|
);
|
|
},
|
|
function(err) {
|
|
return c();
|
|
}
|
|
);
|
|
});
|
|
|
|
Object.keys(spentValid).forEach( function(txid) {
|
|
it('test result of spending tx ' + txid, function(done) {
|
|
var s = spentValid[txid];
|
|
var c=0;
|
|
txDb.fromTxId( txid, function(err, readItems) {
|
|
s.forEach( function(v) {
|
|
assert.equal(readItems[c].spentTxId,v.txid);
|
|
assert.equal(readItems[c].spentIndex,v.n);
|
|
c++;
|
|
});
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|