overleaf/services/web/test/acceptance/coffee/helpers/MockProjectHistoryApi.coffee

44 lines
1.1 KiB
CoffeeScript
Raw Normal View History

express = require("express")
2017-11-27 12:09:51 -05:00
app = express()
module.exports = MockProjectHistoryApi =
docs: {}
2018-03-08 12:24:54 -05:00
oldFiles: {}
projectVersions: {}
2018-03-08 12:24:54 -05:00
addOldFile: (project_id, version, pathname, content) ->
@oldFiles["#{project_id}:#{version}:#{pathname}"] = content
setProjectVersion: (project_id, version) ->
@projectVersions[project_id] = version
2017-11-27 12:09:51 -05:00
run: () ->
app.post "/project", (req, res, next) =>
res.json project: id: 1
2018-03-08 12:24:54 -05:00
app.get "/project/:project_id/version/:version/:pathname", (req, res, next) =>
{project_id, version, pathname} = req.params
key = "#{project_id}:#{version}:#{pathname}"
if @oldFiles[key]?
res.send @oldFiles[key]
else
res.send 404
app.get "/project/:project_id/version", (req, res, next) =>
{project_id} = req.params
if @projectVersions[project_id]?
res.json version: @projectVersions[project_id]
else
res.send 404
2017-11-27 12:09:51 -05:00
app.listen 3054, (error) ->
throw error if error?
.on "error", (error) ->
console.error "error starting MockProjectHistoryApi:", error.message
process.exit(1)
2017-11-27 12:09:51 -05:00
MockProjectHistoryApi.run()