Ver Fonte

Feature: add retrieve account entries service

febbweiss há 10 anos atrás
pai
commit
f0cd72c8a1
2 ficheiros alterados com 44 adições e 5 exclusões
  1. 1 5
      app/controllers/accounts.js
  2. 43 0
      test/accounts.js

+ 1 - 5
app/controllers/accounts.js

@@ -252,11 +252,7 @@ module.exports = {
     
     list_entries : function(request, response) {
         return check_account(request, response, function(errors, account) {
-             Entry.find({
-                    account_id: account.id
-                })
-                .sort('-date')
-                .exec(function(errors, entries) {
+            list_entries(account.id, null, function(errors, entries) {
                     if( errors ) {
                         return Handler.errorHandler(errors, 500, response);
                     }

+ 43 - 0
test/accounts.js

@@ -568,5 +568,48 @@ describe('API /accounts', function() {
                 });
           });
        });
+       
+       describe('* Retrieve', function() {
+          it('should retrieve all entries', function(done) {
+              request(globalServer)
+                .get('/api/accounts/' + account_id + '/entries')
+                .set('Authorization', 'JWT ' + token)
+                .expect('Content-Type', /json/)
+                .expect(200)
+                .end(function(errors, result) {
+                   should.not.exist(errors);
+                   
+                   var entries = result.body.entries;
+                   should.exist(entries);
+                   entries.should.be.instanceof(Array);
+                   
+                   var balance = result.body.balance;
+                   should.exist(balance);
+                   balance.should.be.instanceof(Number);
+                   done(); 
+                });
+          });
+          
+          it('should fail to retrieve entries for unknown account', function(done) {
+              request(globalServer)
+                .get('/api/accounts/' + token + '/entries')
+                .set('Authorization', 'JWT ' + token)
+                .expect(404, done);
+          });
+          
+          it('should fail to retrieve entries for invalid account', function(done) {
+              request(globalServer)
+                .get('/api/accounts/1/entries')
+                .set('Authorization', 'JWT ' + token)
+                .expect(404, done);
+          });
+          
+          it('should fail to retrieve entries for the not owned given account', function(done) {
+              request(globalServer)
+                .get('/api/accounts/' + account_id + '/entries')
+                .set('Authorization', 'JWT ' + hacker_token)
+                .expect(401, done);
+          });
+       });
     });
 });