require('./spec_helper'); 
 | 
var expressPromise = require('..'); 
 | 
  
 | 
describe('json', function() { 
 | 
  it('should work well without Promise', function(done) { 
 | 
    var res = { 
 | 
      json: function(body) { 
 | 
        arguments.should.have.length(1); 
 | 
        body.should.equal('hi'); 
 | 
        done(); 
 | 
      } 
 | 
    }; 
 | 
    expressPromise({methods: ['json']})(null, res); 
 | 
  
 | 
    res.json('hi'); 
 | 
  }); 
 | 
  
 | 
  it('should support Promise', function(done) { 
 | 
    var res = { 
 | 
      json: function(body) { 
 | 
        arguments.should.have.length(1); 
 | 
        body.promise.should.equal('hi'); 
 | 
        done(); 
 | 
      } 
 | 
    }; 
 | 
    expressPromise({methods: ['json']})(null, res); 
 | 
  
 | 
    function async(callback) { 
 | 
      callback(null, 'hi'); 
 | 
    } 
 | 
  
 | 
    res.json({ 
 | 
      promise: async.promise() 
 | 
    }); 
 | 
  }); 
 | 
  
 | 
  it('should support two arguments', function(done) { 
 | 
    var res = { 
 | 
      json: function(status, body) { 
 | 
        arguments.should.have.length(2); 
 | 
        status.should.equal(200); 
 | 
        body.promise.should.equal('hi'); 
 | 
        done(); 
 | 
      } 
 | 
    }; 
 | 
    expressPromise({methods: ['json']})(null, res); 
 | 
  
 | 
    function async(callback) { 
 | 
      callback(null, 'hi'); 
 | 
    } 
 | 
  
 | 
    res.json(200, { 
 | 
      promise: async.promise() 
 | 
    }); 
 | 
  }); 
 | 
}); 
 |