From 94cfbabd41dcf0370d2cbe21229604efbfcdb9c7 Mon Sep 17 00:00:00 2001 From: Typicode Date: Tue, 13 Oct 2015 21:55:14 +0200 Subject: [PATCH] Update DELETE to return 404 if resource doesn't exist --- src/server/router/plural.js | 7 +++++-- test/server/plural.js | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/server/router/plural.js b/src/server/router/plural.js index f695f4e..f371d2e 100644 --- a/src/server/router/plural.js +++ b/src/server/router/plural.js @@ -230,7 +230,7 @@ module.exports = function (db, name) { // DELETE /name/:id function destroy (req, res, next) { - db(name).removeById(utils.toNative(req.params.id)) + var resource = db(name).removeById(utils.toNative(req.params.id)) // Remove dependents documents var removable = db._.getRemovable(db.object) @@ -239,7 +239,10 @@ module.exports = function (db, name) { db(item.name).removeById(item.id) }) - res.locals.data = {} + if (resource) { + res.locals.data = {} + } + next() } diff --git a/test/server/plural.js b/test/server/plural.js index cd723dc..8ef78e3 100644 --- a/test/server/plural.js +++ b/test/server/plural.js @@ -474,6 +474,14 @@ describe('Server', function () { done() }) }) + + it('should respond with 404 if resource is not found', function (done) { + request(server) + .del('/posts/9001') + .expect('Content-Type', /json/) + .expect({}) + .expect(404, done) + }) }) describe('Static routes', function () {