UNPKG

3.19 kBtext/coffeescriptView Raw
1mockery = require 'mockery'
2{ expect } = require 'chai'
3requestMock = require('../index')
4
5mockery.enable(warnOnUnregistered: false)
6mockery.registerMock('request', requestMock)
7
8request = require 'request'
9
10describe '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')