mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Doc is always one version ahead of latest op version
This commit is contained in:
parent
3660253fd4
commit
2e1307bd82
3 changed files with 6 additions and 4 deletions
|
@ -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 = []
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue