UNPKG

slapp

Version:

A module for Slack App integrations

66 lines (55 loc) 1.58 kB
'use strict' const test = require('ava').test const ParseCommand = require('../src/receiver/middleware/parse-command') const fixtures = require('./fixtures/') const SIGNATURE = 'mysignature' const TIMESTAMP = Date.now() test('ParseCommand()', t => { let mw = ParseCommand() t.is(mw.length, 2) }) test.cb('ParseCommand() no payload', t => { let mw = ParseCommand().pop() let req = { body: {} } mw(req, {}, () => { let slapp = req.slapp t.is(slapp.type, 'command') t.deepEqual(slapp.body, req.body) t.is(slapp.meta.verify_token, undefined) t.is(slapp.meta.user_id, undefined) t.is(slapp.meta.channel_id, undefined) t.is(slapp.meta.team_id, undefined) t.end() }) }) test.cb('ParseCommand() with payload', t => { let mw = ParseCommand().pop() let payload = mockPayload() let req = { body: payload, headers: fixtures.getMockSlackHeaders(SIGNATURE, TIMESTAMP) } let res = fixtures.getMockRes() mw(req, res, () => { let slapp = req.slapp t.is(slapp.type, 'command') t.deepEqual(slapp.body, req.body) t.is(slapp.meta.verify_token, payload.token) t.is(slapp.meta.user_id, payload.user_id) t.is(slapp.meta.channel_id, payload.channel_id) t.is(slapp.meta.team_id, payload.team_id) t.is(slapp.meta.signature, SIGNATURE) t.is(slapp.meta.timestamp, TIMESTAMP) t.is(slapp.response, res) t.is(slapp.responseTimeout, 2500) t.end() }) }) function mockPayload () { return { token: 'token', user_id: 'user_id', channel_id: 'channel_id', team_id: 'team_id' } }