Просмотр исходного кода

return NotFound error in ProjectDetailsHandler

Brian Gough 9 лет назад
Родитель
Сommit
f433510e61

+ 3 - 1
services/web/app/coffee/Features/Project/ProjectDetailsHandler.coffee

@@ -5,14 +5,16 @@ logger = require("logger-sharelatex")
 tpdsUpdateSender = require '../ThirdPartyDataStore/TpdsUpdateSender'
 _ = require("underscore")
 PublicAccessLevels = require("../Authorization/PublicAccessLevels")
+Errors = require("../Errors/Errors")
 
 module.exports = 
 
 	getDetails: (project_id, callback)->
 		ProjectGetter.getProject project_id, {name:true, description:true, compiler:true, features:true, owner_ref:true}, (err, project)->
-			if err? or !project?
+			if err?
 				logger.err err:err, project_id:project_id, "error getting project"
 				return callback(err)
+			return callback(new Errors.NotFoundError("project not found")) if !project?
 			UserGetter.getUser project.owner_ref, (err, user) ->
 				return callback(err) if err?
 				details =

+ 4 - 3
services/web/test/UnitTests/coffee/Project/ProjectDetailsHandlerTests.coffee

@@ -1,5 +1,6 @@
 should = require('chai').should()
 modulePath = "../../../../app/js/Features/Project/ProjectDetailsHandler"
+Errors = require "../../../../app/js/Features/Errors/Errors"
 SandboxedModule = require('sandboxed-module')
 sinon = require('sinon')
 assert = require("chai").assert
@@ -50,9 +51,9 @@ describe 'ProjectDetailsHandler', ->
 
 		it "should return an error for a non-existent project", (done)->
 			@ProjectGetter.getProject.callsArg(2, null, null)
-			@handler.getDetails "0123456789012345678901234", (err, details)=>
-				assert.equal(err, undefined)
-				assert.equal(details, undefined)
+			err = new Errors.NotFoundError("project not found")
+			@handler.getDetails "0123456789012345678901234", (error, details) =>
+				err.should.eql error
 				done()
 
 		it "should return the error", (done)->