title: How to write a post request test in mocha with data to test if response matches?
body: <p><strong>Question:</strong>
  How do would I write a post request test in mocha that tests if the response matches?</p>
  
  <p>The response will just be a url string as it is a redirect for a 3rd party service.</p>
  
  <p>Working Example Payload:</p>
  
  <pre><code>curl -H "Content-Type: application/json" -X POST -d '{"participant":{"nuid":"98ASDF988SDF89SDF89989SDF9898"}}' http://localhost:9000/api/members
  </code></pre>
  
  <p><strong>member.controller.js // post method</strong></p>
  
  <pre><code>// Creates a new member in the DB.
  exports.create = function(req, res) {
    Member.findByIdAndUpdate(req.body.participant.nuid,
      { "$setOnInsert": { "_id": req.body.participant.nuid } },
        { "upsert": true },
        function(err,doc) {
          if (err) throw err;
          res.send({
            'redirectUrl': req.protocol + '://' + req.get('host') + '/registration/' + req.body.participant.nuid
          })
      }
    );
  };
  </code></pre>
  
  <p><strong>Expected res.send</strong></p>
  
  <pre><code> {"redirectUrl":"http://localhost:9000/registration/98ASDF988SDF89SDF89989SDF9898"}  
  </code></pre>
  
  <p><strong>Working Example GET request Test</strong></p>
  
  <pre><code>var should = require('should');
  var app = require('../../app');
  var request = require('supertest');
  
  describe('GET /api/members', function() {
  
    it('should respond with JSON array', function(done) {
      request(app)
        .get('/api/members')
        .expect(200)
        .expect('Content-Type', /json/)
        .end(function(err, res) {
          if (err) return done(err);
          res.body.should.be.instanceof(Array);
          done();
        });
    });
    it('should respond with redirect on post', function(done) {
      // need help here
    });
  });
  </code></pre>