overleaf/services/web/test/unit/src/helpers/MockResponse.js
Alf Eaton 2ff1cf43d6 Merge pull request #3470 from overleaf/eslint
Upgrade and configure ESLint

GitOrigin-RevId: ad5aeaf85e72c847a125ff3a9db99a12855e38aa
2020-12-16 03:08:28 +00:00

141 lines
2.9 KiB
JavaScript

/* eslint-disable
no-return-assign,
no-unused-vars,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS102: Remove unnecessary code created because of implicit returns
* DS206: Consider reworking classes to avoid initClass
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const sinon = require('sinon')
class MockResponse {
static initClass() {
this.prototype.setContentDisposition = sinon.stub()
this.prototype.header = sinon.stub()
this.prototype.contentType = sinon.stub()
}
constructor() {
this.rendered = false
this.redirected = false
this.returned = false
this.headers = {}
}
render(template, variables) {
this.success = true
this.rendered = true
this.returned = true
this.renderedTemplate = template
this.renderedVariables = variables
if (this.callback != null) {
return this.callback()
}
}
redirect(url) {
this.success = true
this.redirected = true
this.returned = true
this.redirectedTo = url
if (this.callback != null) {
return this.callback()
}
}
sendStatus(status) {
if (arguments.length < 2) {
if (typeof status !== 'number') {
status = 200
}
}
this.statusCode = status
this.returned = true
if (status >= 200 && status < 300) {
this.success = true
} else {
this.success = false
}
if (this.callback != null) {
return this.callback()
}
}
send(status, body) {
if (arguments.length < 2) {
if (typeof status !== 'number') {
body = status
status = this.statusCode || 200
}
}
this.statusCode = status
this.returned = true
if (status >= 200 && status < 300) {
this.success = true
} else {
this.success = false
}
if (body) {
this.body = body
}
if (this.callback != null) {
return this.callback()
}
}
json(status, body) {
if (arguments.length < 2) {
if (typeof status !== 'number') {
body = status
status = this.statusCode || 200
}
}
this.statusCode = status
this.returned = true
this.type = 'application/json'
if (status >= 200 && status < 300) {
this.success = true
} else {
this.success = false
}
if (body) {
this.body = JSON.stringify(body)
}
if (this.callback != null) {
return this.callback()
}
}
status(status) {
this.statusCode = status
return this
}
setHeader(header, value) {
return (this.headers[header] = value)
}
setTimeout(timout) {
this.timout = timout
}
end(data, encoding) {
if (this.callback) {
return this.callback()
}
}
type(type) {
return (this.type = type)
}
}
MockResponse.initClass()
module.exports = MockResponse