 					.calledWith(@user_id, @project_id, @folder_id, 'bar.tex', @fsPath, false)
 					.should.equal true
 
-	describe '_findFolderOrRootFolderId', ->
-		describe 'with a folder that exists', ->
-			beforeEach ->
-				@ProjectLocator.findElementByPath = sinon.stub().yields(null, {_id: @folder_id = 'mock-folder-id'}, 'folder')
-				@RestoreManager._findFolderOrRootFolderId @project_id, 'folder_name', @callback
+	describe '_findOrCreateFolder', ->
+		beforeEach ->
+			@EditorController.mkdirp = sinon.stub().yields(null, [], {_id: @folder_id = 'mock-folder-id'})
+			@RestoreManager._findOrCreateFolder @project_id, 'folder/name', @callback
 
-			it 'should look up the folder', ->
-				@ProjectLocator.findElementByPath
-					.calledWith({project_id: @project_id, path: 'folder_name'})
-					.should.equal true
+		it 'should look up or create the folder', ->
+			@EditorController.mkdirp
+				.calledWith(@project_id, 'folder/name')
+				.should.equal true
 
-			it 'should return the folder_id', ->
-				@callback.calledWith(null, @folder_id).should.equal true
+		it 'should return the folder_id', ->
+			@callback.calledWith(null, @folder_id).should.equal true
 
-		describe "with a folder that doesn't exist", ->
-			beforeEach ->
-				@ProjectLocator.findElementByPath = sinon.stub().yields(new Errors.NotFoundError())
-				@RestoreManager._findFolderOrRootFolderId @project_id, 'folder_name', @callback
-
-			it 'should return null', ->
-				@callback.calledWith(null, null).should.equal true
 
 	describe '_addEntityWithUniqueName', ->
 		beforeEach ->

					.should.equal true

			it 'should find the root folder', ->
				@RestoreManager._findFolderOrRootFolderId
					.calledWith(@project_id, "")
					.should.equal true


				@RestoreManager.restoreFileFromV2 @user_id, @project_id, @version, @pathname, @callback

			it 'should find the folder', ->
				@RestoreManager._findOrCreateFolder
					.calledWith(@project_id, "foo")
					.should.equal true

