From 75a5428cbffb97fea0f1c8ea47b0afd71f418468 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Tue, 6 Mar 2018 10:36:38 +0000 Subject: [PATCH] update acceptance tests --- ...lyingUpdatesToProjectStructureTests.coffee | 29 ++++++++++++------- .../coffee/helpers/DocUpdaterClient.coffee | 4 +-- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee b/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee index d060cd918c..b617afc7db 100644 --- a/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee +++ b/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.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 diff --git a/services/document-updater/test/acceptance/coffee/helpers/DocUpdaterClient.coffee b/services/document-updater/test/acceptance/coffee/helpers/DocUpdaterClient.coffee index f70271021b..7f50d64372 100644 --- a/services/document-updater/test/acceptance/coffee/helpers/DocUpdaterClient.coffee +++ b/services/document-updater/test/acceptance/coffee/helpers/DocUpdaterClient.coffee @@ -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