[dsmp] replace stubs with MockDocStoreApi and MockDocUpdaterApi (#28122)

* [dsmp] replace stubs with MockDocStoreApi and MockDocUpdaterApi

* fix reject changes test

GitOrigin-RevId: 692195545b16e9674327f7a9828b53f5271b6f20
This commit is contained in:
Domagoj Kriskovic
2025-09-03 08:05:36 +00:00
committed by Copybot
parent e4cc12d5e4
commit 904631ddb9
2 changed files with 37 additions and 0 deletions
@@ -34,6 +34,21 @@ class MockDocUpdaterApi extends AbstractMockApi {
res.sendStatus(200)
})
this.app.post(
'/project/:projectId/doc/:docId/change/accept',
(req, res) => {
res.sendStatus(204)
}
)
this.app.post(
'/project/:projectId/doc/:docId/change/reject',
(req, res) => {
const { change_ids: changeIds } = req.body
res.json({ rejectedChangeIds: changeIds })
}
)
this.app.post('/project/:projectId/doc/:doc_id', (req, res) => {
res.sendStatus(204)
})
@@ -6,6 +6,20 @@ class MockDocstoreApi extends AbstractMockApi {
this.docs = {}
}
addDocument(projectId, docId, { lines, version, ranges }) {
if (!this.docs[projectId]) {
this.docs[projectId] = {}
}
this.docs[projectId][docId] = {
_id: docId,
lines: lines || [],
version: version || 1,
ranges: ranges || {},
rev: 1,
}
return this.docs[projectId][docId]
}
createLegacyDeletedDoc(projectId, docId) {
if (!this.docs[projectId]) {
this.docs[projectId] = {}
@@ -53,6 +67,14 @@ class MockDocstoreApi extends AbstractMockApi {
res.json(Object.values(this.docs[req.params.projectId] || {}))
})
this.app.get('/project/:projectId/ranges', (req, res) => {
const { projectId } = req.params
const docs = Object.values(this.docs[projectId] || {})
.filter(doc => !doc.deleted)
.map(doc => ({ _id: doc._id, ranges: doc.ranges }))
res.json(docs)
})
this.app.get('/project/:projectId/doc-deleted', (req, res) => {
res.json(this.getDeletedDocs(req.params.projectId))
})