UNPKG

testresources

Version:

Adds fluent interface which, with help from superagent, makes testing HTTP resources simpler.

50 lines (39 loc) 1.56 kB
var resourceTest = require('../../../index'); var fixture = require('./../integrationTestFixture') var assert = fixture.assert; var superAgent = require('superagent'); var startServer = fixture.testResources.startTestServer; describe('when you test a put request', function () { var server; var request; before(function () { var app = fixture.getKoaApp(); app.put('/dogs', function * () { this.response.body = { name: 'fido' }; }); return startServer(app).then(function (runningServer) { server = runningServer; }); }) beforeEach(function () { request = superAgent.put(server.fullUrl('/dogs')); }); after(function (done) { server.close(done); }) it('should pass if your expectations are correct', function () { return resourceTest(request) .expectBody({ name: 'fido' }) .run(server) }); it('should fail if body is incorrect', function () { return assert.isRejected( resourceTest(request).expectBody({ name: "mike" }).run(server), /The body did not match./); }); it('should fail if response code is not expected', function () { return assert.isRejected( resourceTest(request).expectStatus(400).run(server), "The status should have been 400."); }); });