1 | should = require 'should'
|
2 | logger = require 'torch'
|
3 | mockRetriever = require './helpers/mockRetriever'
|
4 |
|
5 | core = require '..'
|
6 |
|
7 | describe 'core.link', ->
|
8 | beforeEach (done) ->
|
9 | core.reset (err) ->
|
10 | core.init {}, mockRetriever()
|
11 | core.wireUpLoggers [{writer: 'console', level: 'info'}]
|
12 | done(err)
|
13 |
|
14 | it 'should forward a delegation', (done) ->
|
15 |
|
16 | {responderId} = core.respond 'greet', (args, done) ->
|
17 | done null, {greeting: 'hello'}
|
18 |
|
19 | core.link 'salutation', 'greet'
|
20 |
|
21 | core.delegate 'salutation', {}, (err, data) ->
|
22 | should.not.exist err
|
23 | should.exist data?[responderId], 'expected data for responderId'
|
24 | data[responderId].should.eql {greeting: 'hello'}
|
25 |
|
26 | done()
|
27 |
|
28 | it 'should forward a request', (done) ->
|
29 |
|
30 | {responderId} = core.respond 'greet', (args, done) ->
|
31 | done null, {greeting: 'hello'}
|
32 |
|
33 | core.link 'salutation', 'greet'
|
34 |
|
35 | core.request 'salutation', {}, (err, data) ->
|
36 | should.not.exist err
|
37 | should.exist data, 'expected response data'
|
38 | data.should.eql {greeting: 'hello'}
|
39 |
|
40 | done()
|
41 |
|
42 | it "should forward a namespace", (done) ->
|
43 |
|
44 | {responderId} = core.respond 'sample.greet', (args, done) ->
|
45 | done null, {greeting: 'hello'}
|
46 |
|
47 | core.link 'salutation', 'sample'
|
48 |
|
49 | core.request 'salutation.greet', {}, (err, result) ->
|
50 | should.not.exist err
|
51 | should.exist result
|
52 | result.should.eql {greeting: 'hello'}
|
53 | done()
|
54 |
|
55 | it "should forward to a base namespace", (done) ->
|
56 |
|
57 | {responderId} = core.respond 'sample.greet', (args, done) ->
|
58 | done null, {greeting: 'hello'}
|
59 |
|
60 | core.link 'salutation.messages', 'sample'
|
61 |
|
62 | core.request 'salutation.messages/greet', {}, (err, result) ->
|
63 | should.not.exist err
|
64 | should.exist result
|
65 | result.should.eql {greeting: 'hello'}
|
66 | done()
|