From 13af9b7b5629708d7bd1a2b63aba779117e2cbad Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Thu, 10 Dec 2015 17:06:00 +0000 Subject: [PATCH] find project by name should only find active projects --- .../coffee/Features/Project/ProjectLocator.coffee | 6 +++--- .../coffee/Project/ProjectLocatorTests.coffee | 13 +++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/services/web/app/coffee/Features/Project/ProjectLocator.coffee b/services/web/app/coffee/Features/Project/ProjectLocator.coffee index 998e2fc60b..fbf5b1bb5f 100644 --- a/services/web/app/coffee/Features/Project/ProjectLocator.coffee +++ b/services/web/app/coffee/Features/Project/ProjectLocator.coffee @@ -122,11 +122,11 @@ module.exports = async.waterfall jobs, callback findUsersProjectByName: (user_id, projectName, callback)-> - Project.findAllUsersProjects user_id, 'name', (err, projects, collabertions=[])-> + Project.findAllUsersProjects user_id, 'name archived', (err, projects, collabertions=[])-> projects = projects.concat(collabertions) projectName = projectName.toLowerCase() - project = _.find projects, (project)-> - project.name.toLowerCase() == projectName + project = _.find projects, (project)-> + project.name.toLowerCase() == projectName and project.archived != true logger.log user_id:user_id, projectName:projectName, totalProjects:projects.length, project:project, "looking for project by name" callback(null, project) diff --git a/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee b/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee index 18cdb66216..5c36c18493 100644 --- a/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee +++ b/services/web/test/UnitTests/coffee/Project/ProjectLocatorTests.coffee @@ -293,8 +293,8 @@ describe 'project model', -> done() - describe 'finding a project by user_id and project name', ()-> - it 'should return the projet from an array case insenstive', (done)-> + describe 'findUsersProjectByName finding a project by user_id and project name', ()-> + it 'should return the project from an array case insenstive', (done)-> user_id = "123jojoidns" stubbedProject = {name:"findThis"} projects = [{name:"notThis"}, {name:"wellll"}, stubbedProject, {name:"Noooo"}] @@ -303,6 +303,15 @@ describe 'project model', -> project.should.equal stubbedProject done() + it 'should return the project which is not archived', (done)-> + user_id = "123jojoidns" + stubbedProject = {name:"findThis", _id:12331321} + projects = [{name:"notThis"}, {name:"wellll"}, {name:"findThis",archived:true}, stubbedProject, {name:"findThis",archived:true}, {name:"Noooo"}] + Project.findAllUsersProjects = sinon.stub().callsArgWith(2, null, projects) + @locator.findUsersProjectByName user_id, stubbedProject.name.toLowerCase(), (err, project)-> + project._id.should.equal stubbedProject._id + done() + it 'should search collab projects as well', (done)-> user_id = "123jojoidns" stubbedProject = {name:"findThis"}