aggiunga abilità di fingere richieste http nei test
This commit is contained in:
parent
7e6c60dd61
commit
580279cd0a
@ -7,20 +7,21 @@ TextMessage = require("hubot/src/message").TextMessage
|
|||||||
before = (done) ->
|
before = (done) ->
|
||||||
robot = new Robot null, "mock-adapter", no, 'asjon'
|
robot = new Robot null, "mock-adapter", no, 'asjon'
|
||||||
robot.adapter.on 'connected', ->
|
robot.adapter.on 'connected', ->
|
||||||
#robot.loadFile (path.resolve path.join 'scripts/memoria.coffee'), 'memoria.coffee'
|
# Initialize mocked environment
|
||||||
user = robot.brain.userForId "1", { name: 'mocha', room: '#mocha' }
|
user = robot.brain.userForId "1", { name: 'mocha', room: '#mocha' }
|
||||||
adapter = robot.adapter
|
adapter = robot.adapter
|
||||||
send = (s) -> robot.adapter.receive new TextMessage user, s
|
send = (s) -> robot.adapter.receive new TextMessage user, s
|
||||||
receive = (f) -> robot.adapter.on 'send', f
|
receive = (f) -> robot.adapter.on 'send', f
|
||||||
after = -> robot.shutdown()
|
after = -> robot.shutdown()
|
||||||
clear = -> robot.adapter.removeAllListeners(); robot.httpListener = []
|
clear = -> robot.adapter.removeAllListeners(); robot.httpListener = ->
|
||||||
# Mock http calls
|
# Intercept hubot's http calls
|
||||||
###
|
|
||||||
robot.onHttp = (f) -> robot.httpListener = f
|
robot.onHttp = (f) -> robot.httpListener = f
|
||||||
robot.http = (addr) ->
|
robot.http = (addr) ->
|
||||||
get: ->
|
get: ->
|
||||||
robot.onHttp addr,
|
(cb) -> robot.httpListener 'GET', addr, cb
|
||||||
###
|
post: ->
|
||||||
|
(cb) -> robot.httpListener 'POST', addr, cb
|
||||||
|
# Done
|
||||||
done
|
done
|
||||||
robot: robot, user: user, send: send, receive: receive
|
robot: robot, user: user, send: send, receive: receive
|
||||||
TextMessage: TextMessage, Robot: Robot
|
TextMessage: TextMessage, Robot: Robot
|
||||||
|
27
test/asjon-mock.coffee
Normal file
27
test/asjon-mock.coffee
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
expect = require("chai").should()
|
||||||
|
|
||||||
|
Asjon = require '../asjon-testing.coffee'
|
||||||
|
asjon = undefined
|
||||||
|
|
||||||
|
describe 'hubot mock', ->
|
||||||
|
before (done) ->
|
||||||
|
# Inizializzo robot
|
||||||
|
Asjon (assa) ->
|
||||||
|
asjon = assa
|
||||||
|
after asjon.after
|
||||||
|
afterEach asjon.clear
|
||||||
|
require('../scripts/memoria.coffee')(asjon.robot)
|
||||||
|
done()
|
||||||
|
|
||||||
|
it 'should intercept hubot\'s HTTP calls', (done) ->
|
||||||
|
asjon.robot.onHttp (method, addr, cb) ->
|
||||||
|
addr.should.equal 'http://ddg.gg'
|
||||||
|
method.should.equal 'GET'
|
||||||
|
cb null, 200, 'mock body'
|
||||||
|
asjon.robot.http('http://ddg.gg')
|
||||||
|
.get() (err, res, body) ->
|
||||||
|
if err then throw err
|
||||||
|
res.should.equal 200
|
||||||
|
body.should.equal 'mock body'
|
||||||
|
done()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user