mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-13 21:53:43 +01: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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user