Frage: Wie würde ich einen Post Request Test in Mocha schreiben, der testet, ob die Antwort übereinstimmt?Wie schreibe ich einen Post-Request-Test in Mocha mit Daten zu testen, ob die Antwort übereinstimmt?
Die Antwort wird nur eine URL-Zeichenfolge sein, da es sich um eine Weiterleitung für einen Dienst eines Drittanbieters handelt.
Arbeitsbeispiel Nutzlast:
curl -H "Content-Type: application/json" -X POST -d '{"participant":{"nuid":"98ASDF988SDF89SDF89989SDF9898"}}' http://localhost:9000/api/members
member.controller.js // post-Methode
// 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
})
}
);
};
Erwartet res.send
{"redirectUrl":"http://localhost:9000/registration/98ASDF988SDF89SDF89989SDF9898"}
Arbeitsbeispiel Anfrage Test-GET
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
});
});
Wurde gerade mit superagenten verwechselt;) – javierfdezg
was bedeutet die 'app'variable? –
'TypeError: Anfrage (...). Post (...). Send ist keine Funktion' –