mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
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).
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user