Преглед изворни кода

Switch to using scoped variable instead of variables on context

Changes to mocha mean that a new context is passed to each describe block
instead of it persisting between them.

This means that this test cannot be parallelised, however this was the case
beforehand (subsequent tests are dependent on earlier tests).
Alasdair Smith пре 8 година
родитељ
комит
19cec9451d
1 измењених фајлова са 45 додато и 38 уклоњено
  1. 45 38
      services/web/test/acceptance/coffee/ProjectStructureTests.coffee

+ 45 - 38
services/web/test/acceptance/coffee/ProjectStructureTests.coffee

@@ -16,6 +16,12 @@ request = require "./helpers/request"
 User = require "./helpers/User"
 User = require "./helpers/User"
 
 
 describe "ProjectStructureChanges", ->
 describe "ProjectStructureChanges", ->
+	example_project_id = null
+	example_doc_id = null
+	example_file_id = null
+	example_folder_id_1 = null
+	example_folder_id_2 = null
+
 	before (done) ->
 	before (done) ->
 		@owner = new User()
 		@owner = new User()
 		@owner.login done
 		@owner.login done
@@ -25,11 +31,11 @@ describe "ProjectStructureChanges", ->
 			MockDocUpdaterApi.clearProjectStructureUpdates()
 			MockDocUpdaterApi.clearProjectStructureUpdates()
 			@owner.createProject "example-project", {template: "example"}, (error, project_id) =>
 			@owner.createProject "example-project", {template: "example"}, (error, project_id) =>
 				throw error if error?
 				throw error if error?
-				@example_project_id = project_id
+				example_project_id = project_id
 				done()
 				done()
 
 
 		it "should version creating a doc", ->
 		it "should version creating a doc", ->
-			updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+			updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 			expect(updates.length).to.equal(2)
 			expect(updates.length).to.equal(2)
 			_.each updates, (update) =>
 			_.each updates, (update) =>
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -38,7 +44,7 @@ describe "ProjectStructureChanges", ->
 			expect(_.where(updates, pathname: "/references.bib").length).to.equal 1
 			expect(_.where(updates, pathname: "/references.bib").length).to.equal 1
 
 
 		it "should version creating a file", ->
 		it "should version creating a file", ->
-			updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+			updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 			expect(updates.length).to.equal(1)
 			expect(updates.length).to.equal(1)
 			update = updates[0]
 			update = updates[0]
 			expect(update.userId).to.equal(@owner._id)
 			expect(update.userId).to.equal(@owner._id)
@@ -48,8 +54,9 @@ describe "ProjectStructureChanges", ->
 	describe "duplicating a project", ->
 	describe "duplicating a project", ->
 		before (done) ->
 		before (done) ->
 			MockDocUpdaterApi.clearProjectStructureUpdates()
 			MockDocUpdaterApi.clearProjectStructureUpdates()
+			console.log(example_project_id)
 			@owner.request.post {
 			@owner.request.post {
-				uri: "/Project/#{@example_project_id}/clone",
+				uri: "/Project/#{example_project_id}/clone",
 				json:
 				json:
 					projectName: 'new.tex'
 					projectName: 'new.tex'
 			}, (error, res, body) =>
 			}, (error, res, body) =>
@@ -80,10 +87,10 @@ describe "ProjectStructureChanges", ->
 		before (done) ->
 		before (done) ->
 			MockDocUpdaterApi.clearProjectStructureUpdates()
 			MockDocUpdaterApi.clearProjectStructureUpdates()
 
 
-			ProjectGetter.getProject @example_project_id, (error, project) =>
+			ProjectGetter.getProject example_project_id, (error, project) =>
 				throw error if error?
 				throw error if error?
 				@owner.request.post {
 				@owner.request.post {
-					uri: "project/#{@example_project_id}/doc",
+					uri: "project/#{example_project_id}/doc",
 					json:
 					json:
 						name: 'new.tex'
 						name: 'new.tex'
 						parent_folder_id: project.rootFolder[0]._id
 						parent_folder_id: project.rootFolder[0]._id
@@ -91,11 +98,11 @@ describe "ProjectStructureChanges", ->
 					throw error if error?
 					throw error if error?
 					if res.statusCode < 200 || res.statusCode >= 300
 					if res.statusCode < 200 || res.statusCode >= 300
 						throw new Error("failed to add doc #{res.statusCode}")
 						throw new Error("failed to add doc #{res.statusCode}")
-					@example_doc_id = body._id
+					example_doc_id = body._id
 					done()
 					done()
 
 
 		it "should version the doc added", ->
 		it "should version the doc added", ->
-			updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+			updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 			expect(updates.length).to.equal(1)
 			expect(updates.length).to.equal(1)
 			update = updates[0]
 			update = updates[0]
 			expect(update.userId).to.equal(@owner._id)
 			expect(update.userId).to.equal(@owner._id)
@@ -137,7 +144,7 @@ describe "ProjectStructureChanges", ->
 
 
 	describe "uploading a file", ->
 	describe "uploading a file", ->
 		before (done) ->
 		before (done) ->
-			ProjectGetter.getProject @example_project_id, (error, project) =>
+			ProjectGetter.getProject example_project_id, (error, project) =>
 				throw error if error?
 				throw error if error?
 				@root_folder_id = project.rootFolder[0]._id.toString()
 				@root_folder_id = project.rootFolder[0]._id.toString()
 				done()
 				done()
@@ -149,7 +156,7 @@ describe "ProjectStructureChanges", ->
 			image_file = fs.createReadStream(Path.resolve(__dirname + '/../files/1pixel.png'))
 			image_file = fs.createReadStream(Path.resolve(__dirname + '/../files/1pixel.png'))
 
 
 			req = @owner.request.post {
 			req = @owner.request.post {
-				uri: "project/#{@example_project_id}/upload",
+				uri: "project/#{example_project_id}/upload",
 				qs:
 				qs:
 					folder_id: @root_folder_id
 					folder_id: @root_folder_id
 				formData:
 				formData:
@@ -163,9 +170,9 @@ describe "ProjectStructureChanges", ->
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to upload file #{res.statusCode}")
 					throw new Error("failed to upload file #{res.statusCode}")
 
 
-				@example_file_id = JSON.parse(body).entity_id
+				example_file_id = JSON.parse(body).entity_id
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -179,7 +186,7 @@ describe "ProjectStructureChanges", ->
 			image_file = fs.createReadStream(Path.resolve(__dirname + '/../files/2pixel.png'))
 			image_file = fs.createReadStream(Path.resolve(__dirname + '/../files/2pixel.png'))
 
 
 			req = @owner.request.post {
 			req = @owner.request.post {
-				uri: "project/#{@example_project_id}/upload",
+				uri: "project/#{example_project_id}/upload",
 				qs:
 				qs:
 					folder_id: @root_folder_id
 					folder_id: @root_folder_id
 				formData:
 				formData:
@@ -193,7 +200,7 @@ describe "ProjectStructureChanges", ->
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to upload file #{res.statusCode}")
 					throw new Error("failed to upload file #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -205,12 +212,12 @@ describe "ProjectStructureChanges", ->
 	describe "moving entities", ->
 	describe "moving entities", ->
 		before (done) ->
 		before (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/folder",
+				uri: "project/#{example_project_id}/folder",
 				formData:
 				formData:
 					name: 'foo'
 					name: 'foo'
 			}, (error, res, body) =>
 			}, (error, res, body) =>
 				throw error if error?
 				throw error if error?
-				@example_folder_id_1 = JSON.parse(body)._id
+				example_folder_id_1 = JSON.parse(body)._id
 				done()
 				done()
 
 
 		beforeEach () ->
 		beforeEach () ->
@@ -218,15 +225,15 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version moving a doc", (done) ->
 		it "should version moving a doc", (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/Doc/#{@example_doc_id}/move",
+				uri: "project/#{example_project_id}/Doc/#{example_doc_id}/move",
 				json:
 				json:
-					folder_id: @example_folder_id_1
+					folder_id: example_folder_id_1
 			}, (error, res, body) =>
 			}, (error, res, body) =>
 				throw error if error?
 				throw error if error?
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to move doc #{res.statusCode}")
 					throw new Error("failed to move doc #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -237,15 +244,15 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version moving a file", (done) ->
 		it "should version moving a file", (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/File/#{@example_file_id}/move",
+				uri: "project/#{example_project_id}/File/#{example_file_id}/move",
 				json:
 				json:
-					folder_id: @example_folder_id_1
+					folder_id: example_folder_id_1
 			}, (error, res, body) =>
 			}, (error, res, body) =>
 				throw error if error?
 				throw error if error?
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to move file #{res.statusCode}")
 					throw new Error("failed to move file #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -256,30 +263,30 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version moving a folder", (done) ->
 		it "should version moving a folder", (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/folder",
+				uri: "project/#{example_project_id}/folder",
 				formData:
 				formData:
 					name: 'bar'
 					name: 'bar'
 			}, (error, res, body) =>
 			}, (error, res, body) =>
 				throw error if error?
 				throw error if error?
-				@example_folder_id_2 = JSON.parse(body)._id
+				example_folder_id_2 = JSON.parse(body)._id
 
 
 				@owner.request.post {
 				@owner.request.post {
-					uri: "project/#{@example_project_id}/Folder/#{@example_folder_id_1}/move",
+					uri: "project/#{example_project_id}/Folder/#{example_folder_id_1}/move",
 					json:
 					json:
-						folder_id: @example_folder_id_2
+						folder_id: example_folder_id_2
 				}, (error, res, body) =>
 				}, (error, res, body) =>
 					throw error if error?
 					throw error if error?
 					if res.statusCode < 200 || res.statusCode >= 300
 					if res.statusCode < 200 || res.statusCode >= 300
 						throw new Error("failed to move folder #{res.statusCode}")
 						throw new Error("failed to move folder #{res.statusCode}")
 
 
-					updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+					updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 					expect(updates.length).to.equal(1)
 					expect(updates.length).to.equal(1)
 					update = updates[0]
 					update = updates[0]
 					expect(update.userId).to.equal(@owner._id)
 					expect(update.userId).to.equal(@owner._id)
 					expect(update.pathname).to.equal("/foo/new.tex")
 					expect(update.pathname).to.equal("/foo/new.tex")
 					expect(update.newPathname).to.equal("/bar/foo/new.tex")
 					expect(update.newPathname).to.equal("/bar/foo/new.tex")
 
 
-					updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+					updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 					expect(updates.length).to.equal(1)
 					expect(updates.length).to.equal(1)
 					update = updates[0]
 					update = updates[0]
 					expect(update.userId).to.equal(@owner._id)
 					expect(update.userId).to.equal(@owner._id)
@@ -294,7 +301,7 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version renaming a doc", (done) ->
 		it "should version renaming a doc", (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/Doc/#{@example_doc_id}/rename",
+				uri: "project/#{example_project_id}/Doc/#{example_doc_id}/rename",
 				json:
 				json:
 					name: 'new_renamed.tex'
 					name: 'new_renamed.tex'
 			}, (error, res, body) =>
 			}, (error, res, body) =>
@@ -302,7 +309,7 @@ describe "ProjectStructureChanges", ->
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to move doc #{res.statusCode}")
 					throw new Error("failed to move doc #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -313,7 +320,7 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version renaming a file", (done) ->
 		it "should version renaming a file", (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/File/#{@example_file_id}/rename",
+				uri: "project/#{example_project_id}/File/#{example_file_id}/rename",
 				json:
 				json:
 					name: '1pixel_renamed.png'
 					name: '1pixel_renamed.png'
 			}, (error, res, body) =>
 			}, (error, res, body) =>
@@ -321,7 +328,7 @@ describe "ProjectStructureChanges", ->
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to move file #{res.statusCode}")
 					throw new Error("failed to move file #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -332,7 +339,7 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version renaming a folder", (done) ->
 		it "should version renaming a folder", (done) ->
 			@owner.request.post {
 			@owner.request.post {
-				uri: "project/#{@example_project_id}/Folder/#{@example_folder_id_1}/rename",
+				uri: "project/#{example_project_id}/Folder/#{example_folder_id_1}/rename",
 				json:
 				json:
 					name: 'foo_renamed'
 					name: 'foo_renamed'
 			}, (error, res, body) =>
 			}, (error, res, body) =>
@@ -340,14 +347,14 @@ describe "ProjectStructureChanges", ->
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to move folder #{res.statusCode}")
 					throw new Error("failed to move folder #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.pathname).to.equal("/bar/foo/new_renamed.tex")
 				expect(update.pathname).to.equal("/bar/foo/new_renamed.tex")
 				expect(update.newPathname).to.equal("/bar/foo_renamed/new_renamed.tex")
 				expect(update.newPathname).to.equal("/bar/foo_renamed/new_renamed.tex")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
@@ -362,20 +369,20 @@ describe "ProjectStructureChanges", ->
 
 
 		it "should version deleting a folder", (done) ->
 		it "should version deleting a folder", (done) ->
 			@owner.request.delete {
 			@owner.request.delete {
-				uri: "project/#{@example_project_id}/Folder/#{@example_folder_id_2}",
+				uri: "project/#{example_project_id}/Folder/#{example_folder_id_2}",
 			}, (error, res, body) =>
 			}, (error, res, body) =>
 				throw error if error?
 				throw error if error?
 				if res.statusCode < 200 || res.statusCode >= 300
 				if res.statusCode < 200 || res.statusCode >= 300
 					throw new Error("failed to delete folder #{res.statusCode}")
 					throw new Error("failed to delete folder #{res.statusCode}")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).docUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).docUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.pathname).to.equal("/bar/foo_renamed/new_renamed.tex")
 				expect(update.pathname).to.equal("/bar/foo_renamed/new_renamed.tex")
 				expect(update.newPathname).to.equal("")
 				expect(update.newPathname).to.equal("")
 
 
-				updates = MockDocUpdaterApi.getProjectStructureUpdates(@example_project_id).fileUpdates
+				updates = MockDocUpdaterApi.getProjectStructureUpdates(example_project_id).fileUpdates
 				expect(updates.length).to.equal(1)
 				expect(updates.length).to.equal(1)
 				update = updates[0]
 				update = updates[0]
 				expect(update.userId).to.equal(@owner._id)
 				expect(update.userId).to.equal(@owner._id)