slack/test/test.ts

66 lines
1.7 KiB
TypeScript
Raw Normal View History

2018-09-15 20:23:05 +00:00
import { expect, tap } from '@pushrocks/tapbundle';
import { Qenv } from '@pushrocks/qenv';
2018-09-15 20:23:05 +00:00
let testQenv = new Qenv(process.cwd(), process.cwd() + '/.nogit');
2018-09-15 20:23:05 +00:00
import * as slackme from '../ts/index';
2017-09-14 05:20:26 +00:00
2018-09-15 20:23:05 +00:00
let testSlackme: slackme.Slackme;
let testSlackMessage: slackme.SlackMessage;
tap.test('should create a valid slackme instance', async () => {
2019-09-05 11:08:42 +00:00
testSlackme = new slackme.Slackme(testQenv.getEnvVarOnDemand('SLACK_TOKEN'));
2018-09-15 20:23:05 +00:00
});
tap.test('should send a message to Slack', async () => {
2019-09-05 11:08:42 +00:00
testSlackMessage = new slackme.SlackMessage({
author_name: 'GitLab CI',
author_link: 'https://gitlab.com/',
pretext: '*Good News*: Build successfull!',
color: '#3cb371',
fields: [
{
title: 'Branch',
value: 'Lossless Cloud',
short: true
},
{
title: 'Product ID',
value: 'pushrocks',
short: true
}
],
ts: new Date().getTime() / 1000
});
await testSlackme.sendMessage(testSlackMessage.messageOptions, 'random');
await expect(testSlackMessage.sendToRoom('random')).to.eventually.be.rejected;
});
tap.test('should send a message to Slack by directly calling the message', async () => {
2019-09-05 11:09:13 +00:00
testSlackMessage = new slackme.SlackMessage(
{
author_name: 'GitLab CI',
author_link: 'https://gitlab.com/',
pretext: '*Good News*: Build successfull!',
color: '#3cb371',
fields: [
{
title: 'Branch',
value: 'Lossless Cloud',
short: true
},
{
title: 'Product ID',
value: 'pushrocks',
short: true
}
],
ts: new Date().getTime() / 1000
},
testSlackme
);
2019-09-05 11:08:42 +00:00
await testSlackMessage.sendToRoom('random');
2018-09-15 20:23:05 +00:00
});
2018-09-15 20:23:05 +00:00
tap.start();