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

improve doc manager so it calls get doc recursivly

Henry Oswald 11 лет назад
Родитель
Сommit
ef4e437c3f

+ 1 - 1
services/docstore/app/coffee/DocManager.coffee

@@ -22,7 +22,7 @@ module.exports = DocManager =
 					if err?
 						logger.err err:err, project_id:project_id, doc_id:doc_id, "error unarchiving doc"
 						return callback(err)
-					MongoManager.findDoc doc_id, callback
+					DocManager.getDoc project_id, doc_id, callback
 			else
 				callback err, doc
 

+ 17 - 10
services/docstore/test/unit/coffee/DocManagerTests.coffee

@@ -46,19 +46,26 @@ describe "DocManager", ->
 
 		describe "when the doc is deleted", ->
 			beforeEach -> 
-				@MongoManager.findDoc = sinon.stub().callsArgWith(1, null, @doc)
-
+				@doc = { _id: @doc_id, lines: ["mock-lines"] }
+				@s3doc = { _id: @doc_id, inS3: true }
+				@MongoManager.findDoc = sinon.stub()
+				@MongoManager.findDoc.callsArgWith(1, null, @s3doc)
+				@MongoManager.findDoc.callsArgWith(1, null, @doc)
+				spy = sinon.spy @DocManager.getDoc
+				@DocArchiveManager.unarchiveDoc = sinon.stub().callsArgWith(2)
 				@DocManager.getDoc @project_id, @doc_id, @callback
 
-				it "should try to find the doc in the docs collection", ->
-					@MongoManager.findDoc
-						.calledWith(@doc_id)
-						.should.equal true
+			it "should call the DocArchive to unarchive the doc", ->
+				@DocArchiveManager.unarchiveDoc.calledWith(@project_id, @doc_id).should.equal true
+
+			it "should return the doc", ->
+				@callback.calledWith(null, @doc).should.equal true
 
-				it "should return the doc", ->
-					@callback
-						.calledWith(null, @doc)
-						.should.equal true
+		describe "when the doc is in s3", ->
+			beforeEach -> 
+				@MongoManager.findDoc = sinon.stub().callsArgWith(1, null, @doc)
+
+				@DocManager.getDoc @project_id, @doc_id, @callback
 
 		describe "when the doc does not exist anywhere", ->
 			beforeEach ->