UNPKG

1.4 kBtext/coffeescriptView Raw
1MessageHandler = require '../lib/freddy/message_handler'
2should = require 'should'
3TestHelper = (require './test_helper')
4
5describe 'MessageHandler', ->
6
7 before -> @properties = prop: 'value'
8
9 beforeEach ->
10 @messageHandler = new MessageHandler TestHelper.logger('warn'), @properties
11
12 it 'keeps properties', ->
13 @messageHandler.properties.should.eql(@properties)
14
15 it 'has promise for checking for reponse', ->
16 @messageHandler.whenResponded.should.be.ok
17
18 context 'when success', ->
19 before -> @response = my: 'resp'
20 beforeEach -> @messageHandler.success(@response)
21
22 it 'resolves response promise with the response', (done) ->
23 @messageHandler.whenResponded.done (response) =>
24 response.should.eql(@response)
25 done()
26
27 context 'when nacked', ->
28
29 context 'with error message', ->
30 before -> @error = 'bad'
31 beforeEach -> @messageHandler.error(@error)
32
33 it 'resolves response promise with error', (done) ->
34 @messageHandler.whenResponded.done (->), (error) =>
35 error.should.eql(@error)
36 done()
37
38 context 'without error message', ->
39 before -> @error = "Couldn't process message"
40 beforeEach -> @messageHandler.error()
41 it "resolves response with error #{@error}", (done) ->
42 @messageHandler.whenResponded.done (->), (error) =>
43 error.should.eql(@error)
44 done()