From bd5086c05422e0f423f3bd995344e1e748998e77 Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 5 Dec 2016 14:37:44 +0000 Subject: [PATCH] Don't return deleted docs with all project docs --- services/docstore/app/coffee/MongoManager.coffee | 2 +- .../test/acceptance/coffee/GettingAllDocsTests.coffee | 11 ++++++++++- .../test/unit/coffee/MongoManagerTests.coffee | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) 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