From ec94e59388046460510e8cdfe9a092d8b398eb26 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Thu, 26 Oct 2017 16:39:24 +0100 Subject: [PATCH] Fix error-handling in `setPublicAccessLevel` --- .../Features/Project/ProjectDetailsHandler.coffee | 2 +- .../Project/ProjectDetailsHandlerTests.coffee | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/services/web/app/coffee/Features/Project/ProjectDetailsHandler.coffee b/services/web/app/coffee/Features/Project/ProjectDetailsHandler.coffee index 187abcddfb..658983d0a9 100644 --- a/services/web/app/coffee/Features/Project/ProjectDetailsHandler.coffee +++ b/services/web/app/coffee/Features/Project/ProjectDetailsHandler.coffee @@ -74,7 +74,7 @@ module.exports = ProjectDetailsHandler = PublicAccessLevels.TOKEN_BASED ], newAccessLevel Project.update {_id:project_id},{publicAccesLevel:newAccessLevel}, (err)-> - callback() + callback(err) ensureTokensArePresent: (project_id, callback=(err, tokens)->) -> ProjectGetter.getProject project_id, {tokens: 1}, (err, project) -> diff --git a/services/web/test/UnitTests/coffee/Project/ProjectDetailsHandlerTests.coffee b/services/web/test/UnitTests/coffee/Project/ProjectDetailsHandlerTests.coffee index 59487e3845..481a58c466 100644 --- a/services/web/test/UnitTests/coffee/Project/ProjectDetailsHandlerTests.coffee +++ b/services/web/test/UnitTests/coffee/Project/ProjectDetailsHandlerTests.coffee @@ -150,6 +150,21 @@ describe 'ProjectDetailsHandler', -> @ProjectModel.update.calledWith({_id: @project_id}, {publicAccesLevel: @accessLevel}).should.equal true done() + it 'should not produce an error', (done) -> + @handler.setPublicAccessLevel @project_id, @accessLevel, (err) => + expect(err).to.not.exist + done() + + describe 'when update produces an error', -> + beforeEach -> + @ProjectModel.update.callsArgWith(2, new Error('woops')) + + it 'should produce an error', (done) -> + @handler.setPublicAccessLevel @project_id, @accessLevel, (err) => + expect(err).to.exist + expect(err).to.be.instanceof Error + done() + describe "ensureTokensArePresent", -> beforeEach ->