UNPKG

1.64 kBJavaScriptView Raw
1'use strict'
2
3const test = require('ava').test
4const sinon = require('sinon')
5const fixtures = require('./fixtures/')
6const VerifyToken = require('../src/receiver/middleware/verify-token')
7
8test.cb('VerifyToken() no token option', t => {
9 let mw = VerifyToken()
10
11 mw(fixtures.getMockReq(), fixtures.getMockRes(), () => {
12 t.pass()
13 t.end()
14 })
15})
16
17test('VerifyToken() token option no verify_token', t => {
18 let mw = VerifyToken('beepboop')
19 let res = fixtures.getMockRes()
20
21 let statusStub = sinon.stub(res, 'status', () => { return res })
22 let sendStub = sinon.stub(res, 'send')
23
24 mw(fixtures.getMockReq(), res, () => {})
25 t.true(statusStub.calledWith(403))
26 t.true(sendStub.calledWith('Invalid verify token'))
27})
28
29test.cb('VerifyToken() token option matching verify_token', t => {
30 let token = 'beepboop'
31 let mw = VerifyToken(token)
32 let req = fixtures.getMockReq({
33 slapp: {
34 meta: {
35 verify_token: token
36 }
37 }
38 })
39 let res = fixtures.getMockRes()
40
41 mw(req, res, () => {
42 t.pass()
43 t.end()
44 })
45})
46
47test('VerifyToken() token option nonmatching verify_token', t => {
48 let token = 'beepboop'
49 let onError = sinon.stub()
50 let mw = VerifyToken(token, onError)
51 let req = fixtures.getMockReq({
52 slapp: {
53 meta: {
54 verify_token: 'derp'
55 }
56 }
57 })
58 let res = fixtures.getMockRes()
59
60 let statusStub = sinon.stub(res, 'status', () => { return res })
61 let sendStub = sinon.stub(res, 'send')
62
63 mw(req, res, () => {})
64 t.true(statusStub.calledWith(403))
65 t.true(sendStub.calledWith('Invalid verify token'))
66 t.true(onError.calledWith('Invalid verify token'))
67})