mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-01 21:31:36 +02:00
Merge pull request #9926 from overleaf/jpa-fallback-lines
[docstore] getAllDocs: ensure returned docs have a lines field GitOrigin-RevId: 8b1eb7ef7e68e50501442cc6700b3d5cb8d4361f
This commit is contained in:
@@ -79,7 +79,14 @@ function getAllDocs(req, res, next) {
|
||||
if (error) {
|
||||
return next(error)
|
||||
}
|
||||
res.json(_buildDocsArrayView(projectId, docs))
|
||||
const docViews = _buildDocsArrayView(projectId, docs)
|
||||
for (const docView of docViews) {
|
||||
if (!docView.lines) {
|
||||
logger.warn({ projectId, docId: docView._id }, 'missing doc lines')
|
||||
docView.lines = []
|
||||
}
|
||||
}
|
||||
res.json(docViews)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -198,6 +198,45 @@ describe('HttpController', function () {
|
||||
})
|
||||
})
|
||||
|
||||
describe('with null lines', function () {
|
||||
beforeEach(function () {
|
||||
this.req.params = { project_id: this.projectId }
|
||||
this.docs = [
|
||||
{
|
||||
_id: ObjectId(),
|
||||
lines: null,
|
||||
rev: 2,
|
||||
},
|
||||
{
|
||||
_id: ObjectId(),
|
||||
lines: ['mock', 'lines', 'two'],
|
||||
rev: 4,
|
||||
},
|
||||
]
|
||||
this.DocManager.getAllNonDeletedDocs = sinon
|
||||
.stub()
|
||||
.callsArgWith(2, null, this.docs)
|
||||
this.HttpController.getAllDocs(this.req, this.res, this.next)
|
||||
})
|
||||
|
||||
it('should return the doc with fallback lines', function () {
|
||||
this.res.json
|
||||
.calledWith([
|
||||
{
|
||||
_id: this.docs[0]._id.toString(),
|
||||
lines: [],
|
||||
rev: this.docs[0].rev,
|
||||
},
|
||||
{
|
||||
_id: this.docs[1]._id.toString(),
|
||||
lines: this.docs[1].lines,
|
||||
rev: this.docs[1].rev,
|
||||
},
|
||||
])
|
||||
.should.equal(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe('with a null doc', function () {
|
||||
beforeEach(function () {
|
||||
this.req.params = { project_id: this.projectId }
|
||||
|
||||
Reference in New Issue
Block a user