mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #3354 from overleaf/jpa-fix-clone-invalid-root-doc
[ProjectDuplicator] silently ignore an invalid rootDoc when duplicating GitOrigin-RevId: 93b4d4193fab25484525f8ab2c692e047cf0da30
This commit is contained in:
parent
e3f41ab373
commit
67b8719bf2
2 changed files with 22 additions and 1 deletions
|
@ -60,7 +60,11 @@ async function duplicate(owner, originalProjectId, newProjectName) {
|
|||
docEntries,
|
||||
fileEntries
|
||||
)
|
||||
if (rootDocPath) {
|
||||
// Silently ignore the rootDoc in case it's not valid per the new limits.
|
||||
if (
|
||||
rootDocPath &&
|
||||
ProjectEntityUpdateHandler.isPathValidForRootDoc(rootDocPath.fileSystem)
|
||||
) {
|
||||
await _setRootDoc(newProject._id, rootDocPath.fileSystem)
|
||||
}
|
||||
await _notifyDocumentUpdater(newProject, owner._id, {
|
||||
|
|
|
@ -159,6 +159,7 @@ describe('ProjectDuplicator', function() {
|
|||
}
|
||||
}
|
||||
this.ProjectEntityUpdateHandler = {
|
||||
isPathValidForRootDoc: sinon.stub().returns(true),
|
||||
promises: {
|
||||
setRootDoc: sinon.stub().resolves()
|
||||
}
|
||||
|
@ -340,6 +341,22 @@ describe('ProjectDuplicator', function() {
|
|||
})
|
||||
})
|
||||
|
||||
describe('with an invalid root doc', function() {
|
||||
beforeEach(async function() {
|
||||
this.ProjectEntityUpdateHandler.isPathValidForRootDoc.returns(false)
|
||||
this.newProject = await this.ProjectDuplicator.promises.duplicate(
|
||||
this.owner,
|
||||
this.project._id,
|
||||
'Copy of project'
|
||||
)
|
||||
})
|
||||
|
||||
it('should not set the root doc on the copy', function() {
|
||||
this.ProjectEntityUpdateHandler.promises.setRootDoc.should.not.have.been
|
||||
.called
|
||||
})
|
||||
})
|
||||
|
||||
describe('when there is an error', function() {
|
||||
beforeEach(async function() {
|
||||
this.ProjectEntityMongoUpdateHandler.promises.createNewFolderStructure.rejects()
|
||||
|
|
Loading…
Reference in a new issue