From bcbca3cf418b5b6fa7c8b91cbd867162546a6274 Mon Sep 17 00:00:00 2001 From: Jori Lallo Date: Mon, 15 Jan 2018 14:07:29 -0800 Subject: [PATCH] Added a simple test for unfurl enpoint --- server/api/hooks.test.js | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 server/api/hooks.test.js diff --git a/server/api/hooks.test.js b/server/api/hooks.test.js new file mode 100644 index 000000000..05263354e --- /dev/null +++ b/server/api/hooks.test.js @@ -0,0 +1,49 @@ +/* eslint-disable flowtype/require-valid-file-annotation */ +import TestServer from 'fetch-test-server'; +import app from '..'; +import Authentication from '../models/Authentication'; +import { flushdb, seed } from '../test/support'; +import * as Slack from '../slack'; + +const server = new TestServer(app.callback()); + +beforeEach(flushdb); +afterAll(server.close); + +jest.mock('../slack', () => ({ + post: jest.fn(), +})); + +describe('#hooks.unfurl', async () => { + it('should return documents', async () => { + const { user, document } = await seed(); + await Authentication.create({ + serviceId: 'slack', + userId: user.id, + teamId: user.teamId, + token: '', + }); + + const res = await server.post('/api/hooks.unfurl', { + body: { + token: process.env.SLACK_VERIFICATION_TOKEN, + team_id: 'TXXXXXXXX', + api_app_id: 'AXXXXXXXXX', + event: { + type: 'link_shared', + channel: 'Cxxxxxx', + user: user.slackId, + message_ts: '123456789.9875', + links: [ + { + domain: 'getoutline.com', + url: document.getUrl(), + }, + ], + }, + }, + }); + expect(res.status).toEqual(200); + expect(Slack.post).toHaveBeenCalled(); + }); +});