UNPKG

1.25 kBtext/coffeescriptView Raw
1client = require('./client')
2server = require('connect').createServer()
3assert = require('assert')
4
5TeapotError = ->
6 @code = 418
7 @message = "I'm a teapot"
8 Error.captureStackTrace @, TeapotError
9
10CoffeepotError = ->
11 @code = 418
12 @message = "I'm a coffeepot"
13 Error.captureStackTrace @, TeapotError
14
15server.use require('../lib/lazorse').app ->
16 @resource '/byNameUnregistered':
17 GET: -> @error "TeapotError"
18
19 @resource '/byNameRegistered':
20 GET: -> @error "TeapotError"
21
22 @resource '/usingConstructor':
23 GET: -> @error TeapotError
24
25describe "An app that uses custom errors", ->
26 before (start) ->
27 server.listen 0, 'localhost', ->
28 client.usePort server.address().port
29 start()
30
31 after -> server.close()
32
33 it "can't find errors by name when they aren't registered", (done) ->
34 client.GET '/byNameUnregistered', (res) ->
35 assert.equal res.statusCode, 500
36 done()
37
38 it "can find errors by name when they are registered", (done) ->
39 client.GET '/byNameRegistered', (res) ->
40 assert.equal res.statusCode, 500
41 done()
42
43
44 it 'treats functions as constructors regardless of registration', (done) ->
45 client.GET '/usingConstructor', (res) ->
46 assert.equal res.statusCode, 418
47 done()