1 | mockery = require 'mockery'
|
2 | { expect } = require 'chai'
|
3 | requestMock = require('../index')
|
4 |
|
5 | mockery.enable(warnOnUnregistered: false)
|
6 | mockery.registerMock('request', requestMock)
|
7 |
|
8 | request = require 'request'
|
9 |
|
10 | describe 'requestMock', ->
|
11 | describe 'register get', ->
|
12 | it 'should register mock module for get requests', ->
|
13 | requestMock.register 'get', 'http://google.com', (opts, cb) ->
|
14 | cb(null, { statusCode: 200 }, 'get mock')
|
15 | request 'http://google.com', (err, response, body) ->
|
16 | expect(response).to.have.property('statusCode').that.equals(200)
|
17 | expect(body).to.equal('get mock')
|
18 | describe 'register post', ->
|
19 | it 'should register mock module for POST requests', ->
|
20 | requestMock.register 'post', 'http://google.com', (opts, cb) ->
|
21 | cb(null, { statusCode: 201 }, 'post mock')
|
22 | request { url: 'http://google.com', method: 'POST' }, (err, response, body) ->
|
23 | expect(response).to.have.property('statusCode').that.equals(201)
|
24 | expect(body).to.equal('post mock')
|
25 | describe 'register put', ->
|
26 | it 'should register mock module for PUT requests', ->
|
27 | requestMock.register 'put', 'http://google.com', (opts, cb) ->
|
28 | cb(null, { statusCode: 202 }, 'put mock')
|
29 | request { url: 'http://google.com', method: 'PUT' }, (err, response, body) ->
|
30 | expect(response).to.have.property('statusCode').that.equals(202)
|
31 | expect(body).to.equal('put mock')
|
32 | describe 'register patch', ->
|
33 | it 'should register mock module for PATCH requests', ->
|
34 | requestMock.register 'patch', 'http://google.com', (opts, cb) ->
|
35 | cb(null, { statusCode: 203 }, 'patch mock')
|
36 | request { url: 'http://google.com', method: 'PATCH' }, (err, response, body) ->
|
37 | expect(response).to.have.property('statusCode').that.equals(203)
|
38 | expect(body).to.equal('patch mock')
|
39 | describe 'register delete', ->
|
40 | it 'should register mock module for DELETE requests', ->
|
41 | requestMock.register 'delete', 'http://google.com', (opts, cb) ->
|
42 | cb(null, { statusCode: 204 }, 'delete mock')
|
43 | request { url: 'http://google.com', method: 'DELETE' }, (err, response, body) ->
|
44 | expect(response).to.have.property('statusCode').that.equals(204)
|
45 | expect(body).to.equal('delete mock')
|
46 | describe 'register any case', ->
|
47 | it 'should allow registering any-case handlers', ->
|
48 | requestMock.register 'PoSt', 'http://google.com', (opts, cb) ->
|
49 | cb(null, { statusCode: 206 }, 'PoSt mock')
|
50 | request { url: 'http://google.com', method: 'POST' }, (err, response, body) ->
|
51 | expect(response).to.have.property('statusCode').that.equals(206)
|
52 | expect(body).to.equal('PoSt mock')
|
53 | describe 'deregister', ->
|
54 | it 'should allow deregistering mock handlers with any-case method', ->
|
55 | requestMock.deregister('pOsT', 'http://google.com')
|
56 | request { url: 'http://google.com', method: 'POST' }, (err, response, body) ->
|
57 | expect(response).to.have.property('statusCode').that.equals(200)
|
58 | expect(body[0..20]).to.not.contain('mock')
|
59 | it 'should allow deregistering mock handlers', ->
|
60 | requestMock.deregister('http://google.com')
|
61 | request 'http://google.com', (err, response, body) ->
|
62 | expect(response).to.have.property('statusCode').that.equals(200)
|
63 | expect(body[0..20]).to.not.contain('mock')
|