overleaf/services/docstore/test/acceptance/coffee/helpers/DocstoreClient.coffee

63 lines
1.6 KiB
CoffeeScript
Raw Normal View History

request = require("request").defaults(jar: false)
{db, ObjectId} = require("../../../../app/js/mongojs")
module.exports = DocstoreClient =
2014-04-30 08:06:12 -04:00
createProject: (project_id, callback = (error) ->) ->
db.projects.insert {
_id: project_id
2014-04-30 08:06:12 -04:00
rootFolder: [{ docs: [] }]
}, callback
2014-05-16 08:06:35 -04:00
createDoc: (project_id, doc_id, lines, callback = (error) ->) ->
2014-04-30 08:06:12 -04:00
db.projects.update {
_id: project_id
}, {
$push: {
"rootFolder.0.docs": {
_id: doc_id
lines: lines
2014-04-30 08:06:12 -04:00
}
}
}, callback
createDeletedDoc: (project_id, doc_id, lines, callback = (error) ->) ->
db.docs.insert {
_id: doc_id
project_id: project_id
lines: lines
deleted: true
}, callback
deleteProject: (project_id, callback = (error, res, body) ->) ->
db.projects.remove _id: project_id, callback
getDoc: (project_id, doc_id, options, callback = (error, res, body) ->) ->
if typeof(options) == "function"
callback = options
options = { include_deleted: false }
request.get {
url: "http://localhost:3016/project/#{project_id}/doc/#{doc_id}?include_deleted=#{options.include_deleted}"
json: true
}, callback
2014-04-30 08:06:12 -04:00
getAllDocs: (project_id, callback = (error, res, body) ->) ->
request.get {
url: "http://localhost:3016/project/#{project_id}/doc"
json: true
}, callback
2014-05-16 08:06:35 -04:00
updateDoc: (project_id, doc_id, lines, callback = (error, res, body) ->) ->
request.post {
url: "http://localhost:3016/project/#{project_id}/doc/#{doc_id}"
json:
lines: lines
}, callback
deleteDoc: (project_id, doc_id, callback = (error, res, body) ->) ->
request.del {
url: "http://localhost:3016/project/#{project_id}/doc/#{doc_id}"
}, callback