How to get response's body with mocha / node.js

mocha.js, node.js

Solution

The second example can not work as shown. request.get is asynchronous.

Here's a working example running with request and should

request = require("request");
should = require("should");

describe('Applications API', function() {
  it('Checks existence of test application', function(done) {
    request.get('http://google.com', function(err, response, body) {
      response.statusCode.should.equal(200);
      body.should.include("I'm Feeling Lucky");
      done();
    })
  });
});

Problem

I'm very new to mocha / omf. I have the basic test below: ``` omf('http://localhost:7000', function(client) { client.get('/apps', function(response){ response.has.statusCode(200); response.has.body('["test1","test2"]'); }); }); ``` I'd like to check if the value "test2" is among the list returned but I cannot figure out how this is feasible. I'm thinking of something like: ``` omf('http://localhost:7000', function(client) { client.get('/apps', function(response){ response.has.statusCode(200); // response.body.split.contains("test2"); // Something like that }); }); ``` Can I access response.body and then parse the string ? ** UPDATE ** I've tried to test with mocha, just a simple status code: ``` request = require("request"); describe('Applications API', function(){ it('Checks existence of test application', function(done){ request .get('http://localhost:7000/apps') .expect(200, done); }); }); ``` but I got the following error: TypeError: Object # has no method 'expect' Any idea ? Does mocha need to have additional addons ?

Original source