overleaf/services/web/test/unit/coffee/helpers/MockResponse.coffee
Simon Detheridge 385da07930 Merge pull request #1675 from sharelatex/spd-zip-file-limit-ui
Display more descriptive errors when uploading a project fails

GitOrigin-RevId: e206ca0d595f927ab141fb901644906f000160f8
2019-03-28 15:14:30 +00:00

88 lines
1.6 KiB
CoffeeScript

sinon = require "sinon"
class MockResponse
constructor: ->
@rendered = false
@redirected = false
@returned = false
@headers = {}
render: (template, variables) ->
@success = true
@rendered = true
@returned = true
@renderedTemplate = template
@renderedVariables = variables
@callback() if @callback?
redirect: (url) ->
@success = true
@redirected = true
@returned = true
@redirectedTo = url
@callback() if @callback?
sendStatus: (status) ->
if arguments.length < 2
if typeof status != "number"
body = status
status = 200
@statusCode = status
@returned = true
if 200 <= status < 300
@success = true
else
@success = false
@callback() if @callback?
send: (status, body) ->
if arguments.length < 2
if typeof status != "number"
body = status
status = 200
@statusCode = status
@returned = true
if 200 <= status < 300
@success = true
else
@success = false
@body = body if body
@callback() if @callback?
json: (status, body) ->
if arguments.length < 2
if typeof status != "number"
body = status
status = @statusCode || 200
@statusCode = status
@returned = true
@type = 'application/json'
if 200 <= status < 300
@success = true
else
@success = false
@body = JSON.stringify(body) if body
@callback() if @callback?
status: (status)->
@statusCode = status
return @
setHeader: (header, value) ->
@headers[header] = value
setContentDisposition: sinon.stub()
setTimeout: (@timout)->
header: sinon.stub()
contentType: sinon.stub()
end: (data, encoding) ->
@callback() if @callback
type: (type) -> @type = type
module.exports = MockResponse