فهرست منبع

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