Files
overleaf-cep/services/web/test/acceptance/src/mocks/MockClsiApi.js
T
Jakob Ackermann a2000cb171 Merge pull request #3703 from overleaf/jpa-spd-mocks-reset-is-optional
[tests] mocks: .reset() is optional

GitOrigin-RevId: ad2db1ecc69f57fa9deea0ff124e3f0be212f0ee
2021-02-26 03:04:37 +00:00

70 lines
1.6 KiB
JavaScript

const AbstractMockApi = require('./AbstractMockApi')
class MockClsiApi extends AbstractMockApi {
static compile(req, res) {
res.status(200).send({
compile: {
status: 'success',
error: null,
outputFiles: [
{
url: `/project/${req.params.project_id}/build/1234/output/project.pdf`,
path: 'project.pdf',
type: 'pdf',
build: 1234
},
{
url: `/project/${req.params.project_id}/build/1234/output/project.log`,
path: 'project.log',
type: 'log',
build: 1234
}
]
}
})
}
applyRoutes() {
this.app.post('/project/:project_id/compile', MockClsiApi.compile)
this.app.post(
'/project/:project_id/user/:user_id/compile',
MockClsiApi.compile
)
this.app.get(
'/project/:project_id/build/:build_id/output/*',
(req, res) => {
const filename = req.params[0]
if (filename === 'project.pdf') {
res.status(200).send('mock-pdf')
} else if (filename === 'project.log') {
res.status(200).send('mock-log')
} else {
res.sendStatus(404)
}
}
)
this.app.get(
'/project/:project_id/user/:user_id/build/:build_id/output/:output_path',
(req, res) => {
res.status(200).send('hello')
}
)
this.app.get('/project/:project_id/status', (req, res) => {
res.status(200).send()
})
}
}
module.exports = MockClsiApi
// type hint for the inherited `instance` method
/**
* @function instance
* @memberOf MockClsiApi
* @static
* @returns {MockClsiApi}
*/