Merge pull request #2504 from overleaf/bg-initialise-history-on-open

create v2 history for old projects when opened

GitOrigin-RevId: 78229b517cb425bc439efca1b9259b472099db6d
This commit is contained in:
Brian Gough 2020-01-13 13:14:12 +00:00 committed by Copybot
parent d420c1e99b
commit c7824ced7b
2 changed files with 18 additions and 0 deletions

View file

@ -6,6 +6,7 @@ const logger = require('logger-sharelatex')
const ProjectDeleter = require('./ProjectDeleter')
const ProjectDuplicator = require('./ProjectDuplicator')
const ProjectCreationHandler = require('./ProjectCreationHandler')
const ProjectHistoryHandler = require('./ProjectHistoryHandler')
const EditorController = require('../Editor/EditorController')
const ProjectHelper = require('./ProjectHelper')
const metrics = require('metrics-sharelatex')
@ -699,6 +700,9 @@ const ProjectController = {
activate(cb) {
InactiveProjectManager.reactivateProjectIfRequired(projectId, cb)
},
ensureHistoryExists(cb) {
ProjectHistoryHandler.ensureHistoryExistsForProject(projectId, cb)
},
markAsOpened(cb) {
// don't need to wait for this to complete
ProjectUpdateHandler.markAsOpened(projectId, () => {})

View file

@ -56,6 +56,9 @@ describe('ProjectController', function() {
.stub()
.callsArgWith(2, null, { _id: this.project_id })
}
this.ProjectHistoryHandler = {
ensureHistoryExistsForProject: sinon.stub().callsArg(1)
}
this.SubscriptionLocator = { getUsersSubscription: sinon.stub() }
this.LimitationsManager = { hasPaidSubscription: sinon.stub() }
this.TagsHandler = { getAllTags: sinon.stub() }
@ -157,6 +160,7 @@ describe('ProjectController', function() {
'./ProjectDeleter': this.ProjectDeleter,
'./ProjectDuplicator': this.ProjectDuplicator,
'./ProjectCreationHandler': this.ProjectCreationHandler,
'./ProjectHistoryHandler': this.ProjectHistoryHandler,
'../Editor/EditorController': this.EditorController,
'../User/UserController': this.UserController,
'./ProjectHelper': this.ProjectHelper,
@ -1133,6 +1137,16 @@ describe('ProjectController', function() {
this.ProjectController.loadEditor(this.req, this.res)
})
it('should ensureHistoryExistsForProject', function(done) {
this.res.render = (pageName, opts) => {
this.ProjectHistoryHandler.ensureHistoryExistsForProject
.calledWith(this.project_id)
.should.equal(true)
done()
}
this.ProjectController.loadEditor(this.req, this.res)
})
it('should mark project as opened', function(done) {
this.res.render = (pageName, opts) => {
this.ProjectUpdateHandler.markAsOpened