express endpoint

This commit is contained in:
Ivan Socolsky 2015-12-10 12:58:08 -03:00
parent 4e7241e86d
commit 56d1562e92
3 changed files with 42 additions and 12 deletions

View File

@ -314,19 +314,10 @@ ExpressApp.prototype.start = function(opts, cb) {
});
});
// DEPRECATED
router.get('/v1/balance/', function(req, res) {
getServerWithAuth(req, res, function(server) {
server.getBalance({}, function(err, balance) {
if (err) return returnError(err, res, req);
res.json(balance);
});
});
});
router.get('/v2/balance/', function(req, res) {
getServerWithAuth(req, res, function(server) {
server.getBalance2Steps({}, function(err, balance) {
var balanceFn = req.query.cache == '1' ? _.bind(server.getBalance2Steps, server) : _.bind(server.getBalance, server);
balanceFn({}, function(err, balance) {
if (err) return returnError(err, res, req);
res.json(balance);
});

View File

@ -113,6 +113,45 @@ describe('ExpressApp', function() {
});
});
describe('Balance', function() {
it('should handle cache argument', function(done) {
var server = {
getBalance: sinon.stub().callsArgWith(1, null, {}),
getBalance2Steps: sinon.stub().callsArgWith(1, null, {}),
};
var TestExpressApp = proxyquire('../lib/expressapp', {
'./server': {
initialize: sinon.stub().callsArg(1),
getInstanceWithAuth: sinon.stub().callsArgWith(1, null, server),
}
});
start(TestExpressApp, function() {
var reqOpts = {
url: testHost + ':' + testPort + config.basePath + '/v1/balance',
headers: {
'x-identity': 'identity',
'x-signature': 'signature'
}
};
request(reqOpts, function(err, res, body) {
should.not.exist(err);
res.statusCode.should.equal(200);
server.getBalance.calledOnce.should.be.true;
server.getBalance2Steps.calledOnce.should.be.false;
reqOpts.url += '?cache=1';
request(reqOpts, function(err, res, body) {
should.not.exist(err);
res.statusCode.should.equal(200);
server.getBalance.calledTwice.should.be.false;
server.getBalance2Steps.calledOnce.should.be.true;
done();
});
});
});
});
});
describe('/v1/notifications', function(done) {
var server, TestExpressApp, clock;
beforeEach(function() {

View File

@ -1504,7 +1504,7 @@ describe('Wallet service', function() {
});
});
describe.only('#getBalance 2 steps', function() {
describe('#getBalance 2 steps', function() {
var server, wallet, clock;
var _threshold = Defaults.TWO_STEP_BALANCE_THRESHOLD;
beforeEach(function(done) {