James Allen 8 лет назад
Родитель
Сommit
cae09028ff

+ 13 - 12
services/web/test/unit/coffee/Editor/EditorControllerTests.coffee

@@ -18,6 +18,7 @@ describe "EditorController", ->
 		@file = _id: @file_id ="dasdkjk"
 		@fileName = "file.png"
 		@fsPath = "/folder/file.png"
+		@linkedFileData = {provider: 'url'}
 
 		@folder_id = "123ksajdn"
 		@folder = _id: @folder_id
@@ -66,16 +67,16 @@ describe "EditorController", ->
 	describe 'addFile', ->
 		beforeEach ->
 			@ProjectEntityUpdateHandler.addFile = sinon.stub().yields(null, @file, @folder_id)
-			@EditorController.addFile @project_id, @folder_id, @fileName, @fsPath, @source, @user_id, @callback
+			@EditorController.addFile @project_id, @folder_id, @fileName, @fsPath, @linkedFileData, @source, @user_id, @callback
 
 		it 'should add the folder using the project entity handler', ->
 			@ProjectEntityUpdateHandler.addFile
-				.calledWith(@project_id, @folder_id, @fileName, @fsPath, @user_id)
+				.calledWith(@project_id, @folder_id, @fileName, @fsPath, @linkedFileData, @user_id)
 				.should.equal true
 
 		it 'should send the update of a new folder out to the users in the project', ->
 			@EditorRealTimeController.emitToRoom
-				.calledWith(@project_id, "reciveNewFile", @folder_id, @file, @source)
+				.calledWith(@project_id, "reciveNewFile", @folder_id, @file, @source, @linkedFileData)
 				.should.equal true
 
 		it 'calls the callback', ->
@@ -107,11 +108,11 @@ describe "EditorController", ->
 	describe 'upsertFile', ->
 		beforeEach ->
 			@ProjectEntityUpdateHandler.upsertFile = sinon.stub().yields(null, @file, false)
-			@EditorController.upsertFile @project_id, @folder_id, @fileName, @fsPath, @source, @user_id, @callback
+			@EditorController.upsertFile @project_id, @folder_id, @fileName, @fsPath, @linkedFileData, @source, @user_id, @callback
 
 		it 'upserts the file using the project entity handler', ->
 			@ProjectEntityUpdateHandler.upsertFile
-				.calledWith(@project_id, @folder_id, @fileName, @fsPath, @user_id)
+				.calledWith(@project_id, @folder_id, @fileName, @fsPath, @linkedFileData, @user_id)
 				.should.equal true
 
 		it 'returns the file', ->
@@ -120,11 +121,11 @@ describe "EditorController", ->
 		describe 'file does not exist', ->
 			beforeEach ->
 				@ProjectEntityUpdateHandler.upsertFile = sinon.stub().yields(null, @file, true)
-				@EditorController.upsertFile @project_id, @folder_id, @fileName, @fsPath, @source, @user_id, @callback
+				@EditorController.upsertFile @project_id, @folder_id, @fileName, @fsPath, @linkedFileData, @source, @user_id, @callback
 
 			it 'should send the update out to users in the project', ->
 				@EditorRealTimeController.emitToRoom
-					.calledWith(@project_id, "reciveNewFile", @folder_id, @file, @source)
+					.calledWith(@project_id, "reciveNewFile", @folder_id, @file, @source, @linkedFileData)
 					.should.equal true
 
 	describe "upsertDocWithPath", ->
@@ -171,21 +172,21 @@ describe "EditorController", ->
 			@filePath = '/folder/file'
 
 			@ProjectEntityUpdateHandler.upsertFileWithPath = sinon.stub().yields(null, @file, false, [], @folder)
-			@EditorController.upsertFileWithPath @project_id, @filePath, @fsPath, @source, @user_id, @callback
+			@EditorController.upsertFileWithPath @project_id, @filePath, @fsPath, @linkedFileData, @source, @user_id, @callback
 
 		it 'upserts the file using the project entity handler', ->
 			@ProjectEntityUpdateHandler.upsertFileWithPath
-				.calledWith(@project_id, @filePath, @fsPath)
+				.calledWith(@project_id, @filePath, @fsPath, @linkedFileData)
 				.should.equal true
 
 		describe 'file does not exist', ->
 			beforeEach ->
 				@ProjectEntityUpdateHandler.upsertFileWithPath = sinon.stub().yields(null, @file, true, [], @folder)
-				@EditorController.upsertFileWithPath @project_id, @filePath, @fsPath, @source, @user_id, @callback
+				@EditorController.upsertFileWithPath @project_id, @filePath, @fsPath, @linkedFileData, @source, @user_id, @callback
 
 			it 'should send the update for the file out to users in the project', ->
 				@EditorRealTimeController.emitToRoom
-					.calledWith(@project_id, "reciveNewFile", @folder_id, @file, @source)
+					.calledWith(@project_id, "reciveNewFile", @folder_id, @file, @source, @linkedFileData)
 					.should.equal true
 
 		describe 'folders required for file do not exist', ->
@@ -195,7 +196,7 @@ describe "EditorController", ->
 					@folderB = { _id: 3, parentFolder_id: 2}
 				]
 				@ProjectEntityUpdateHandler.upsertFileWithPath = sinon.stub().yields(null, @file, true, folders, @folderB)
-				@EditorController.upsertFileWithPath @project_id, @filePath, @fsPath, @source, @user_id, @callback
+				@EditorController.upsertFileWithPath @project_id, @filePath, @fsPath, @linkedFileData, @source, @user_id, @callback
 
 			it 'should send the update for each folder to users in the project', ->
 				@EditorRealTimeController.emitToRoom

+ 2 - 1
services/web/test/unit/coffee/Project/ProjectCreationHandlerTests.coffee

@@ -34,7 +34,7 @@ describe 'ProjectCreationHandler', ->
 				{@name} = options
 		@ProjectEntityUpdateHandler =
 			addDoc: sinon.stub().callsArgWith(5, null, {_id: docId})
-			addFile: sinon.stub().callsArg(5)
+			addFile: sinon.stub().callsArg(6)
 			setRootDoc: sinon.stub().callsArg(2)
 		@ProjectDetailsHandler =
 			validateProjectName: sinon.stub().yields()
@@ -208,6 +208,7 @@ describe 'ProjectCreationHandler', ->
 				.calledWith(
 					project_id, rootFolderId, "universe.jpg",
 					Path.resolve(__dirname + "/../../../../app/templates/project_files/universe.jpg"),
+					null,
 					ownerId
 				)
 				.should.equal true

+ 2 - 2
services/web/test/unit/coffee/Project/ProjectEditorHandlerTests.coffee

@@ -33,7 +33,7 @@ describe "ProjectEditorHandler", ->
 					fileRefs : [{
 						_id     : "file-id"
 						name    : "image.png"
-						created : new Date()
+						created : @created = new Date()
 						size    : 1234
 					}]
 					folders  : []
@@ -141,7 +141,7 @@ describe "ProjectEditorHandler", ->
 			it "should include files in the project", ->
 				@result.rootFolder[0].folders[0].fileRefs[0]._id.should.equal "file-id"
 				@result.rootFolder[0].folders[0].fileRefs[0].name.should.equal "image.png"
-				should.not.exist @result.rootFolder[0].folders[0].fileRefs[0].created
+				@result.rootFolder[0].folders[0].fileRefs[0].created.should.equal @created
 				should.not.exist @result.rootFolder[0].folders[0].fileRefs[0].size
 
 			it "should include docs in the project but not the lines", ->

+ 3 - 2
services/web/test/unit/coffee/Project/ProjectEntityMongoUpdateHandlerTests.coffee

@@ -97,10 +97,11 @@ describe 'ProjectEntityMongoUpdateHandler', ->
 		beforeEach ->
 			@file = _id: file_id
 			@path = mongo: 'file.png'
+			@linkedFileData = {provider: 'url'}
 			@ProjectLocator.findElement = sinon.stub().yields(null, @file, @path)
 			@ProjectModel.update = sinon.stub().yields()
 
-			@subject.replaceFile project_id, file_id, @callback
+			@subject.replaceFile project_id, file_id, @linkedFileData, @callback
 
 		it 'gets the project', ->
 			@ProjectGetter.getProjectWithoutLock
@@ -118,7 +119,7 @@ describe 'ProjectEntityMongoUpdateHandler', ->
 					{ _id: project_id },
 					{
 						'$inc': { 'file.png.rev': 1, 'version': 1 }
-						'$set': { 'file.png.created': new Date() }
+						'$set': { 'file.png.created': new Date(), 'file.png.linkedFileData': @linkedFileData }
 					}
 					{}
 				)

+ 13 - 11
services/web/test/unit/coffee/Project/ProjectEntityUpdateHandlerTests.coffee

@@ -40,6 +40,8 @@ describe 'ProjectEntityUpdateHandler', ->
 		@fileName = "something.jpg"
 		@fileSystemPath = "somehintg"
 
+		@linkedFileData = {provider: 'url'}
+
 		@source = 'editor'
 		@callback = sinon.stub()
 		@ProjectEntityUpdateHandler = SandboxedModule.require modulePath, requires:
@@ -296,11 +298,11 @@ describe 'ProjectEntityUpdateHandler', ->
 			@newFile = _id: file_id
 			@ProjectEntityUpdateHandler.addFileWithoutUpdatingHistory =
 				withoutLock: sinon.stub().yields(null, @newFile, folder_id, @path, @fileUrl)
-			@ProjectEntityUpdateHandler.addFile project_id, folder_id, @docName, @fileSystemPath, userId, @callback
+			@ProjectEntityUpdateHandler.addFile project_id, folder_id, @docName, @fileSystemPath, @linkedFileData, userId, @callback
 
 		it "creates the doc without history", () ->
 			@ProjectEntityUpdateHandler.addFileWithoutUpdatingHistory.withoutLock
-				.calledWith(project_id, folder_id, @docName, @fileSystemPath, userId)
+				.calledWith(project_id, folder_id, @docName, @fileSystemPath, @linkedFileData, userId)
 				.should.equal true
 
 		it "sends the change in project structure to the doc updater", () ->
@@ -320,7 +322,7 @@ describe 'ProjectEntityUpdateHandler', ->
 			@project = _id: project_id, name: 'some project'
 			@ProjectEntityMongoUpdateHandler.replaceFile = sinon.stub().yields(null, @newFile, @project, fileSystem: @path)
 
-			@ProjectEntityUpdateHandler.replaceFile project_id, file_id, @fileSystemPath, userId, @callback
+			@ProjectEntityUpdateHandler.replaceFile project_id, file_id, @fileSystemPath, @linkedFileData, userId, @callback
 
 		it 'uploads a new version of the file', ->
 			@FileStoreHandler.uploadFileFromDisk
@@ -329,7 +331,7 @@ describe 'ProjectEntityUpdateHandler', ->
 
 		it 'replaces the file in mongo', ->
 			@ProjectEntityMongoUpdateHandler.replaceFile
-				.calledWith(project_id, file_id)
+				.calledWith(project_id, file_id, @linkedFileData)
 				.should.equal true
 
 		it 'notifies the tpds', ->
@@ -497,7 +499,7 @@ describe 'ProjectEntityUpdateHandler', ->
 		describe 'upserting into an invalid folder', ->
 			beforeEach ->
 				@ProjectLocator.findElement = sinon.stub().yields()
-				@ProjectEntityUpdateHandler.upsertFile project_id, folder_id, @fileName, @fileSystemPath, userId, @callback
+				@ProjectEntityUpdateHandler.upsertFile project_id, folder_id, @fileName, @fileSystemPath, @linkedFileData, userId, @callback
 
 			it 'returns an error', ->
 				errorMatcher = sinon.match.instanceOf(Error)
@@ -511,11 +513,11 @@ describe 'ProjectEntityUpdateHandler', ->
 				@ProjectLocator.findElement = sinon.stub().yields(null, @folder)
 				@ProjectEntityUpdateHandler.replaceFile = withoutLock: sinon.stub().yields(null, @newFile)
 
-				@ProjectEntityUpdateHandler.upsertFile project_id, folder_id, @fileName, @fileSystemPath, userId, @callback
+				@ProjectEntityUpdateHandler.upsertFile project_id, folder_id, @fileName, @fileSystemPath, @linkedFileData, userId, @callback
 
 			it 'replaces the file', ->
 				@ProjectEntityUpdateHandler.replaceFile.withoutLock
-					.calledWith(project_id, file_id, @fileSystemPath, userId)
+					.calledWith(project_id, file_id, @fileSystemPath, @linkedFileData, userId)
 					.should.equal true
 
 			it 'returns the file', ->
@@ -528,7 +530,7 @@ describe 'ProjectEntityUpdateHandler', ->
 				@ProjectLocator.findElement = sinon.stub().yields(null, @folder)
 				@ProjectEntityUpdateHandler.addFile = withoutLock: sinon.stub().yields(null, @newFile)
 
-				@ProjectEntityUpdateHandler.upsertFile project_id, folder_id, @fileName, @fileSystemPath, userId, @callback
+				@ProjectEntityUpdateHandler.upsertFile project_id, folder_id, @fileName, @fileSystemPath, @linkedFileData, userId, @callback
 
 			it 'tries to find the folder', ->
 				@ProjectLocator.findElement
@@ -537,7 +539,7 @@ describe 'ProjectEntityUpdateHandler', ->
 
 			it 'adds the file', ->
 				@ProjectEntityUpdateHandler.addFile.withoutLock
-					.calledWith(project_id, folder_id, @fileName, @fileSystemPath, userId)
+					.calledWith(project_id, folder_id, @fileName, @fileSystemPath, @linkedFileData, userId)
 					.should.equal true
 
 			it 'returns the file', ->
@@ -584,7 +586,7 @@ describe 'ProjectEntityUpdateHandler', ->
 			@ProjectEntityUpdateHandler.upsertFile =
 				withoutLock: sinon.stub().yields(null, @file, @isNewFile)
 
-			@ProjectEntityUpdateHandler.upsertFileWithPath project_id, @path, @fileSystemPath, userId, @callback
+			@ProjectEntityUpdateHandler.upsertFileWithPath project_id, @path, @fileSystemPath, @linkedFileData, userId, @callback
 
 		it 'creates any necessary folders', ->
 			@ProjectEntityUpdateHandler.mkdirp.withoutLock
@@ -593,7 +595,7 @@ describe 'ProjectEntityUpdateHandler', ->
 
 		it 'upserts the file', ->
 			@ProjectEntityUpdateHandler.upsertFile.withoutLock
-				.calledWith(project_id, @folder._id, 'file.png', @fileSystemPath, userId)
+				.calledWith(project_id, @folder._id, 'file.png', @fileSystemPath, @linkedFileData, userId)
 				.should.equal true
 
 		it 'calls the callback', ->

+ 2 - 0
services/web/test/unit/coffee/Subscription/SubscriptionControllerTests.coffee

@@ -74,6 +74,7 @@ describe "SubscriptionController", ->
 			"settings-sharelatex": @settings
 			"./SubscriptionDomainHandler":@SubscriptionDomainHandler
 			"../User/UserGetter": @UserGetter
+			"./RecurlyWrapper": @RecurlyWrapper = {}
 
 
 		@res = new MockResponse()
@@ -117,6 +118,7 @@ describe "SubscriptionController", ->
 	describe "paymentPage", ->
 		beforeEach ->
 			@req.headers = {}
+			@RecurlyWrapper.sign = sinon.stub().yields(null, @signature = "signature")
 			@SubscriptionHandler.validateNoSubscriptionInRecurly = sinon.stub().yields(null, true)
 			@GeoIpLookup.getCurrencyCode.callsArgWith(1, null, @stubbedCurrencyCode)
 

+ 4 - 2
services/web/test/unit/coffee/ThirdPartyDataStore/UpdateMergerTests.coffee

@@ -15,18 +15,20 @@ describe 'UpdateMerger :', ->
 				err: ->
 			'../Editor/EditorController': @EditorController = {}
 			'../Uploads/FileTypeManager':@FileTypeManager = {}
+			'../../infrastructure/FileWriter': @FileWriter = {}
 			'settings-sharelatex':{path:{dumpPath:"dump_here"}}
 		@project_id = "project_id_here"
 		@user_id = "mock-user-id"
 
 		@docPath = "/folder/doc.tex"
 		@filePath = "/folder/file.png"
+		@linkedFileData = {provider: 'url'}
 
 		@fsPath = "/tmp/file/path"
 
 		@source = "dropbox"
 		@updateRequest = new BufferedStream()
-		@updateMerger.p.writeStreamToDisk = sinon.stub().yields(null, @fsPath)
+		@FileWriter.writeStreamToDisk = sinon.stub().yields(null, @fsPath)
 		@callback = sinon.stub()
 
 	describe 'mergeUpdate', ->
@@ -94,5 +96,5 @@ describe 'UpdateMerger :', ->
 
 			it 'should upsert the file in the editor controller', ->
 				@EditorController.upsertFileWithPath
-					.calledWith(@project_id, @filePath, @fsPath, @source, @user_id)
+					.calledWith(@project_id, @filePath, @fsPath, null, @source, @user_id)
 					.should.equal true

+ 3 - 3
services/web/test/unit/coffee/Uploads/FileSystemImportManagerTests.coffee

@@ -78,12 +78,12 @@ describe "FileSystemImportManager", ->
 
 	describe "addFile with replace set to false", ->
 		beforeEach ->
-			@EditorController.addFile = sinon.stub().callsArg(6)
+			@EditorController.addFile = sinon.stub().yields()
 			@FileSystemImportManager._isSafeOnFileSystem = sinon.stub().callsArgWith(1, null, true)
 			@FileSystemImportManager.addFile @user_id, @project_id, @folder_id, @name, @path_on_disk, false, @callback
 
 		it "should add the file", ->
-			@EditorController.addFile.calledWith(@project_id, @folder_id, @name, @path_on_disk, "upload", @user_id)
+			@EditorController.addFile.calledWith(@project_id, @folder_id, @name, @path_on_disk, null, "upload", @user_id)
 				.should.equal true
 
 	describe "addFile with symlink", ->
@@ -105,7 +105,7 @@ describe "FileSystemImportManager", ->
 
 		it "should add the file", ->
 			@EditorController.upsertFile
-				.calledWith(@project_id, @folder_id, @name, @path_on_disk, "upload", @user_id)
+				.calledWith(@project_id, @folder_id, @name, @path_on_disk, null, "upload", @user_id)
 				.should.equal true
 
 	describe "addFolder", ->