|
|
@@ -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)
|