diff --git a/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee b/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee index d006890bed..3762936add 100644 --- a/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee +++ b/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToProjectStructureTests.coffee @@ -176,3 +176,32 @@ describe "Applying updates to a project's structure", -> it "should flush project history", -> MockProjectHistoryApi.flushProject.calledWith(@project_id).should.equal true + + describe "with too few updates to flush to the history service", -> + before (done) -> + @project_id = DocUpdaterClient.randomId() + @user_id = DocUpdaterClient.randomId() + + updates = [] + for v in [0..42] # Should flush after 500 ops + updates.push + id: DocUpdaterClient.randomId(), + pathname: '/file-' + v + docLines: 'a\nb' + + sinon.spy MockProjectHistoryApi, "flushProject" + + # Send updates in chunks + projectId = @project_id + userId = @project_id + DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(0, 10), [], (error) -> + throw error if error? + DocUpdaterClient.sendProjectUpdate projectId, userId, updates.slice(10), [], (error) -> + throw error if error? + setTimeout done, 2000 + + after -> + MockProjectHistoryApi.flushProject.restore() + + it "should not flush project history", -> + MockProjectHistoryApi.flushProject.calledWith(@project_id).should.equal false