diff --git a/services/docstore/app/coffee/MongoManager.coffee b/services/docstore/app/coffee/MongoManager.coffee index e44c995490..ef35756d0c 100644 --- a/services/docstore/app/coffee/MongoManager.coffee +++ b/services/docstore/app/coffee/MongoManager.coffee @@ -7,7 +7,7 @@ module.exports = MongoManager = callback error, docs[0] getProjectsDocs: (project_id, callback)-> - db.docs.find project_id: ObjectId(project_id.toString()), {}, callback + db.docs.find {project_id: ObjectId(project_id.toString()), deleted: { $ne: true }}, {}, callback getArchivedProjectDocs: (project_id, callback)-> query = diff --git a/services/docstore/test/acceptance/coffee/GettingAllDocsTests.coffee b/services/docstore/test/acceptance/coffee/GettingAllDocsTests.coffee index eb4261b7ae..4248513a74 100644 --- a/services/docstore/test/acceptance/coffee/GettingAllDocsTests.coffee +++ b/services/docstore/test/acceptance/coffee/GettingAllDocsTests.coffee @@ -22,15 +22,24 @@ describe "Getting all docs", -> lines: ["111", "222", "333"] rev: 6 }] + @deleted_doc = { + _id: ObjectId() + lines: ["deleted"] + rev: 8 + } jobs = for doc in @docs do (doc) => (callback) => DocstoreClient.createDoc @project_id, doc._id, doc.lines, (err)=> doc.lines[0] = doc.lines[0]+" added" DocstoreClient.updateDoc @project_id, doc._id, doc.lines, null, callback + jobs.push (cb) => + DocstoreClient.createDoc @project_id, @deleted_doc._id, @deleted_doc.lines, (err)=> + DocstoreClient.updateDoc @project_id, @deleted_doc._id, @deleted_doc.lines, null, (err) => + DocstoreClient.deleteDoc @project_id, @deleted_doc._id, done async.series jobs, done - it "should return all the docs", (done) -> + it "should return all the (non-deleted) docs", (done) -> DocstoreClient.getAllDocs @project_id, (error, res, docs) => throw error if error? docs.length.should.equal @docs.length diff --git a/services/docstore/test/unit/coffee/MongoManagerTests.coffee b/services/docstore/test/unit/coffee/MongoManagerTests.coffee index 54a352417a..5064bcffbc 100644 --- a/services/docstore/test/unit/coffee/MongoManagerTests.coffee +++ b/services/docstore/test/unit/coffee/MongoManagerTests.coffee @@ -42,10 +42,11 @@ describe "MongoManager", -> @db.docs.find = sinon.stub().callsArgWith(2, null, [@doc, @doc3, @doc4]) @MongoManager.getProjectsDocs @project_id, @callback - it "should find the docs via the project_id", -> + it "should find the non-deleted docs via the project_id", -> @db.docs.find .calledWith({ project_id: ObjectId(@project_id) + deleted: { $ne: true } }, {}) .should.equal true