mirror of
https://github.com/overleaf/overleaf.git
synced 2025-02-18 16:43:00 +00:00
Merge pull request #1102 from sharelatex/mm-ensure-history-before-export
Ensure project has history before exporting GitOrigin-RevId: 688131fbbca1cd339433d3b9be57a03a32303b3e
This commit is contained in:
parent
365158f283
commit
49acb719db
3 changed files with 10 additions and 2 deletions
|
@ -1,4 +1,5 @@
|
||||||
ProjectGetter = require('../Project/ProjectGetter')
|
ProjectGetter = require('../Project/ProjectGetter')
|
||||||
|
ProjectHistoryHandler = require('../Project/ProjectHistoryHandler')
|
||||||
ProjectLocator = require('../Project/ProjectLocator')
|
ProjectLocator = require('../Project/ProjectLocator')
|
||||||
ProjectRootDocManager = require('../Project/ProjectRootDocManager')
|
ProjectRootDocManager = require('../Project/ProjectRootDocManager')
|
||||||
UserGetter = require('../User/UserGetter')
|
UserGetter = require('../User/UserGetter')
|
||||||
|
@ -35,7 +36,9 @@ module.exports = ExportsHandler = self =
|
||||||
user: (cb) ->
|
user: (cb) ->
|
||||||
UserGetter.getUser user_id, {first_name: 1, last_name: 1, email: 1, overleaf: 1}, cb
|
UserGetter.getUser user_id, {first_name: 1, last_name: 1, email: 1, overleaf: 1}, cb
|
||||||
historyVersion: (cb) ->
|
historyVersion: (cb) ->
|
||||||
self._requestVersion project_id, cb
|
ProjectHistoryHandler.ensureHistoryExistsForProject project_id, (error) ->
|
||||||
|
return callback(error) if error?
|
||||||
|
self._requestVersion project_id, cb
|
||||||
|
|
||||||
async.auto jobs, (err, results) ->
|
async.auto jobs, (err, results) ->
|
||||||
if err?
|
if err?
|
||||||
|
|
|
@ -19,7 +19,6 @@ module.exports = ProjectHistoryHandler =
|
||||||
getHistoryId: (project_id, callback = (err, result) ->) ->
|
getHistoryId: (project_id, callback = (err, result) ->) ->
|
||||||
ProjectDetailsHandler.getDetails project_id, (err, project) ->
|
ProjectDetailsHandler.getDetails project_id, (err, project) ->
|
||||||
return callback(err) if err? # n.b. getDetails returns an error if the project doesn't exist
|
return callback(err) if err? # n.b. getDetails returns an error if the project doesn't exist
|
||||||
return callback(new Error("history exists")) if project.overleaf?.history?.id?
|
|
||||||
callback(null, project?.overleaf?.history?.id)
|
callback(null, project?.overleaf?.history?.id)
|
||||||
|
|
||||||
ensureHistoryExistsForProject: (project_id, callback = (err) ->) ->
|
ensureHistoryExistsForProject: (project_id, callback = (err) ->) ->
|
||||||
|
|
|
@ -15,6 +15,7 @@ describe 'ExportsHandler', ->
|
||||||
log: ->
|
log: ->
|
||||||
err: ->
|
err: ->
|
||||||
'../Project/ProjectGetter': @ProjectGetter = {}
|
'../Project/ProjectGetter': @ProjectGetter = {}
|
||||||
|
'../Project/ProjectHistoryHandler': @ProjectHistoryHandler = {}
|
||||||
'../Project/ProjectLocator': @ProjectLocator = {}
|
'../Project/ProjectLocator': @ProjectLocator = {}
|
||||||
'../Project/ProjectRootDocManager': @ProjectRootDocManager = {}
|
'../Project/ProjectRootDocManager': @ProjectRootDocManager = {}
|
||||||
'../User/UserGetter': @UserGetter = {}
|
'../User/UserGetter': @UserGetter = {}
|
||||||
|
@ -101,6 +102,7 @@ describe 'ExportsHandler', ->
|
||||||
@rootDocPath = 'main.tex'
|
@rootDocPath = 'main.tex'
|
||||||
@historyVersion = 777
|
@historyVersion = 777
|
||||||
@ProjectGetter.getProject = sinon.stub().yields(null, @project)
|
@ProjectGetter.getProject = sinon.stub().yields(null, @project)
|
||||||
|
@ProjectHistoryHandler.ensureHistoryExistsForProject = sinon.stub().yields(null)
|
||||||
@ProjectLocator.findRootDoc = sinon.stub().yields(null, [null, {fileSystem: 'main.tex'}])
|
@ProjectLocator.findRootDoc = sinon.stub().yields(null, [null, {fileSystem: 'main.tex'}])
|
||||||
@ProjectRootDocManager.ensureRootDocumentIsSet = sinon.stub().callsArgWith(1, null)
|
@ProjectRootDocManager.ensureRootDocumentIsSet = sinon.stub().callsArgWith(1, null)
|
||||||
@UserGetter.getUser = sinon.stub().yields(null, @user)
|
@UserGetter.getUser = sinon.stub().yields(null, @user)
|
||||||
|
@ -113,6 +115,10 @@ describe 'ExportsHandler', ->
|
||||||
@callback(error, export_data)
|
@callback(error, export_data)
|
||||||
done()
|
done()
|
||||||
|
|
||||||
|
it "should ensure the project has history", ->
|
||||||
|
@ProjectHistoryHandler.ensureHistoryExistsForProject.called
|
||||||
|
.should.equal true
|
||||||
|
|
||||||
it "should request the project history version", ->
|
it "should request the project history version", ->
|
||||||
@ExportsHandler._requestVersion.called
|
@ExportsHandler._requestVersion.called
|
||||||
.should.equal true
|
.should.equal true
|
||||||
|
|
Loading…
Reference in a new issue