diff --git a/services/track-changes/app/coffee/DiffManager.coffee b/services/track-changes/app/coffee/DiffManager.coffee index 1128533028..cf1283f193 100644 --- a/services/track-changes/app/coffee/DiffManager.coffee +++ b/services/track-changes/app/coffee/DiffManager.coffee @@ -19,7 +19,7 @@ module.exports = DiffManager = logger.log lines: lines, version: version, updates: updates, "got doc and updates" lastUpdate = updates[0] - if lastUpdate? and lastUpdate.v != version + if lastUpdate? and lastUpdate.v != version - 1 return callback new Error("latest update version, #{lastUpdate.v}, does not match doc version, #{version}") updatesToApply = [] diff --git a/services/track-changes/test/acceptance/coffee/GettingADiffTests.coffee b/services/track-changes/test/acceptance/coffee/GettingADiffTests.coffee index 02d83f0044..d321954c09 100644 --- a/services/track-changes/test/acceptance/coffee/GettingADiffTests.coffee +++ b/services/track-changes/test/acceptance/coffee/GettingADiffTests.coffee @@ -49,7 +49,7 @@ describe "Getting a diff", -> MockDocUpdaterApi.docs[@doc_id] = lines: @lines - version: 6 + version: 7 TrackChangesClient.pushRawUpdates @doc_id, @updates, (error) => throw error if error? diff --git a/services/track-changes/test/unit/coffee/DiffManager/DiffManagerTests.coffee b/services/track-changes/test/unit/coffee/DiffManager/DiffManagerTests.coffee index ef4c2d9327..dbe02b8b4d 100644 --- a/services/track-changes/test/unit/coffee/DiffManager/DiffManagerTests.coffee +++ b/services/track-changes/test/unit/coffee/DiffManager/DiffManagerTests.coffee @@ -44,7 +44,9 @@ describe "DiffManager", -> describe "getDiff", -> beforeEach -> @lines = [ "hello", "world" ] - @version = 42 + # Op versions are the version they were applied to, so doc is always one version + # ahead.s + @version = 43 @updates = [ { op: "mock-4", v: 42, meta: { start_ts: new Date(@to.getTime() + 20)} } { op: "mock-3", v: 41, meta: { start_ts: new Date(@to.getTime() + 10)} } @@ -82,7 +84,7 @@ describe "DiffManager", -> describe "with mismatching versions", -> beforeEach -> - @version = 42 + @version = 50 @updates = [ { op: "mock-1", v: 40 }, { op: "mock-1", v: 39 } ] @DiffManager.getLatestDocAndUpdates = sinon.stub().callsArgWith(4, null, @lines, @version, @updates) @DiffManager.getDiff @project_id, @doc_id, @from, @to, @callback