mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-22 17:46:57 +00:00
update acceptance tests
This commit is contained in:
parent
b3887fd984
commit
75a5428cbf
2 changed files with 21 additions and 12 deletions
services/document-updater/test/acceptance/coffee
|
@ -13,6 +13,7 @@ DocUpdaterApp = require "./helpers/DocUpdaterApp"
|
|||
describe "Applying updates to a project's structure", ->
|
||||
before ->
|
||||
@user_id = 'user-id-123'
|
||||
@version = 1234
|
||||
|
||||
describe "renaming a file", ->
|
||||
before (done) ->
|
||||
|
@ -24,7 +25,7 @@ describe "Applying updates to a project's structure", ->
|
|||
@fileUpdates = [ @fileUpdate ]
|
||||
DocUpdaterApp.ensureRunning (error) =>
|
||||
throw error if error?
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, [], @fileUpdates, (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, [], @fileUpdates, @version, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 200
|
||||
|
||||
|
@ -38,6 +39,7 @@ describe "Applying updates to a project's structure", ->
|
|||
update.new_pathname.should.equal '/new-file-path'
|
||||
update.meta.user_id.should.equal @user_id
|
||||
update.meta.ts.should.be.a('string')
|
||||
update.version.should.equal "#{@version}.0"
|
||||
|
||||
done()
|
||||
|
||||
|
@ -52,7 +54,7 @@ describe "Applying updates to a project's structure", ->
|
|||
describe "when the document is not loaded", ->
|
||||
before (done) ->
|
||||
@project_id = DocUpdaterClient.randomId()
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, @docUpdates, [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, @docUpdates, [], @version, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 200
|
||||
|
||||
|
@ -66,6 +68,7 @@ describe "Applying updates to a project's structure", ->
|
|||
update.new_pathname.should.equal '/new-doc-path'
|
||||
update.meta.user_id.should.equal @user_id
|
||||
update.meta.ts.should.be.a('string')
|
||||
update.version.should.equal "#{@version}.0"
|
||||
|
||||
done()
|
||||
|
||||
|
@ -76,7 +79,7 @@ describe "Applying updates to a project's structure", ->
|
|||
DocUpdaterClient.preloadDoc @project_id, @docUpdate.id, (error) =>
|
||||
throw error if error?
|
||||
sinon.spy MockWebApi, "getDocument"
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, @docUpdates, [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, @docUpdates, [], @version, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 200
|
||||
|
||||
|
@ -98,6 +101,7 @@ describe "Applying updates to a project's structure", ->
|
|||
update.new_pathname.should.equal '/new-doc-path'
|
||||
update.meta.user_id.should.equal @user_id
|
||||
update.meta.ts.should.be.a('string')
|
||||
update.version.should.equal "#{@version}.0"
|
||||
|
||||
done()
|
||||
|
||||
|
@ -109,7 +113,7 @@ describe "Applying updates to a project's structure", ->
|
|||
pathname: '/file-path'
|
||||
url: 'filestore.example.com'
|
||||
@fileUpdates = [ @fileUpdate ]
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, [], @fileUpdates, (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, [], @fileUpdates, @version, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 200
|
||||
|
||||
|
@ -123,6 +127,7 @@ describe "Applying updates to a project's structure", ->
|
|||
update.url.should.equal 'filestore.example.com'
|
||||
update.meta.user_id.should.equal @user_id
|
||||
update.meta.ts.should.be.a('string')
|
||||
update.version.should.equal "#{@version}.0"
|
||||
|
||||
done()
|
||||
|
||||
|
@ -134,7 +139,7 @@ describe "Applying updates to a project's structure", ->
|
|||
pathname: '/file-path'
|
||||
docLines: 'a\nb'
|
||||
@docUpdates = [ @docUpdate ]
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, @docUpdates, [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate @project_id, @user_id, @docUpdates, [], @version, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 200
|
||||
|
||||
|
@ -148,6 +153,7 @@ describe "Applying updates to a project's structure", ->
|
|||
update.docLines.should.equal 'a\nb'
|
||||
update.meta.user_id.should.equal @user_id
|
||||
update.meta.ts.should.be.a('string')
|
||||
update.version.should.equal "#{@version}.0"
|
||||
|
||||
done()
|
||||
|
||||
|
@ -155,7 +161,8 @@ describe "Applying updates to a project's structure", ->
|
|||
before (done) ->
|
||||
@project_id = DocUpdaterClient.randomId()
|
||||
@user_id = DocUpdaterClient.randomId()
|
||||
|
||||
@version0 = 12345
|
||||
@version1 = @version0 + 1
|
||||
updates = []
|
||||
for v in [0..599] # Should flush after 500 ops
|
||||
updates.push
|
||||
|
@ -168,9 +175,9 @@ describe "Applying updates to a project's structure", ->
|
|||
# Send updates in chunks to causes multiple flushes
|
||||
projectId = @project_id
|
||||
userId = @project_id
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(0, 250), [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(0, 250), [], @version0, (error) ->
|
||||
throw error if error?
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(250), [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(250), [], @version1, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 2000
|
||||
|
||||
|
@ -184,6 +191,8 @@ describe "Applying updates to a project's structure", ->
|
|||
before (done) ->
|
||||
@project_id = DocUpdaterClient.randomId()
|
||||
@user_id = DocUpdaterClient.randomId()
|
||||
@version0 = 12345
|
||||
@version1 = @version0 + 1
|
||||
|
||||
updates = []
|
||||
for v in [0..42] # Should flush after 500 ops
|
||||
|
@ -197,9 +206,9 @@ describe "Applying updates to a project's structure", ->
|
|||
# Send updates in chunks
|
||||
projectId = @project_id
|
||||
userId = @project_id
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(0, 10), [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(0, 10), [], @version0, (error) ->
|
||||
throw error if error?
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(10), [], (error) ->
|
||||
DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(10), [], @version1, (error) ->
|
||||
throw error if error?
|
||||
setTimeout done, 2000
|
||||
|
||||
|
|
|
@ -87,9 +87,9 @@ module.exports = DocUpdaterClient =
|
|||
body = JSON.parse(body)
|
||||
callback error, res, body
|
||||
|
||||
sendProjectUpdate: (project_id, userId, docUpdates, fileUpdates, callback = (error) ->) ->
|
||||
sendProjectUpdate: (project_id, userId, docUpdates, fileUpdates, version, callback = (error) ->) ->
|
||||
request.post {
|
||||
url: "http://localhost:3003/project/#{project_id}"
|
||||
json: { userId, docUpdates, fileUpdates }
|
||||
json: { userId, docUpdates, fileUpdates, version }
|
||||
}, (error, res, body) ->
|
||||
callback error, res, body
|
||||
|
|
Loading…
Add table
Reference in a new issue