diff --git a/services/document-updater/test/unit/coffee/HistoryManager/HistoryManagerTests.coffee b/services/document-updater/test/unit/coffee/HistoryManager/HistoryManagerTests.coffee index 1198bf7c7b..07c3577a91 100644 --- a/services/document-updater/test/unit/coffee/HistoryManager/HistoryManagerTests.coffee +++ b/services/document-updater/test/unit/coffee/HistoryManager/HistoryManagerTests.coffee @@ -46,6 +46,28 @@ describe "HistoryManager", -> .calledWith({url: "#{@Settings.apis.project_history.url}/project/#{@project_id}/flush", qs:{background:true}}) .should.equal true + describe "flushProjectChanges", -> + + describe "in the normal case", -> + beforeEach -> + @request.post = sinon.stub().callsArgWith(1, null, statusCode: 204) + @HistoryManager.flushProjectChanges @project_id, {background:true} + + it "should send a request to the project history api", -> + @request.post + .calledWith({url: "#{@Settings.apis.project_history.url}/project/#{@project_id}/flush", qs:{background:true}}) + .should.equal true + + describe "with the skip_history_flush option", -> + beforeEach -> + @request.post = sinon.stub() + @HistoryManager.flushProjectChanges @project_id, {skip_history_flush:true} + + it "should not send a request to the project history api", -> + @request.post + .called + .should.equal false + describe "recordAndFlushHistoryOps", -> beforeEach -> @ops = [ 'mock-ops' ] diff --git a/services/document-updater/test/unit/coffee/HttpController/HttpControllerTests.coffee b/services/document-updater/test/unit/coffee/HttpController/HttpControllerTests.coffee index 6429a4031d..c1f5c5eca8 100644 --- a/services/document-updater/test/unit/coffee/HttpController/HttpControllerTests.coffee +++ b/services/document-updater/test/unit/coffee/HttpController/HttpControllerTests.coffee @@ -343,6 +343,17 @@ describe "HttpController", -> it "should time the request", -> @Metrics.Timer::done.called.should.equal true + describe "with the shutdown=true option from realtime", -> + beforeEach -> + @ProjectManager.flushAndDeleteProjectWithLocks = sinon.stub().callsArgWith(2) + @req.query = {background:true, shutdown:true} + @HttpController.deleteProject(@req, @res, @next) + + it "should pass the skip_history_flush option when flushing the project", -> + @ProjectManager.flushAndDeleteProjectWithLocks + .calledWith(@project_id, {background:true, skip_history_flush:true}) + .should.equal true + describe "when an errors occurs", -> beforeEach -> @ProjectManager.flushAndDeleteProjectWithLocks = sinon.stub().callsArgWith(2, new Error("oops"))