2020-01-20 08:47:35 +00:00
|
|
|
import { expect, tap } from '@pushrocks/tapbundle';
|
|
|
|
import * as smartrule from '../ts/index';
|
|
|
|
|
2020-01-20 14:41:27 +00:00
|
|
|
interface ITestMessage {
|
|
|
|
id: string;
|
|
|
|
body: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
let testSmartruleInstance: smartrule.SmartRule<ITestMessage>;
|
|
|
|
|
2020-01-20 08:47:35 +00:00
|
|
|
tap.test('first test', async () => {
|
2020-01-20 14:41:27 +00:00
|
|
|
testSmartruleInstance = new smartrule.SmartRule<ITestMessage>();
|
|
|
|
testSmartruleInstance.createRule(
|
|
|
|
0,
|
|
|
|
async messageArg => {
|
|
|
|
if (messageArg.body.startsWith('hello')) {
|
|
|
|
return 'apply-stop';
|
|
|
|
}
|
|
|
|
},
|
|
|
|
async messageArg => {
|
|
|
|
console.log(`rule triggered for message with body ${messageArg.body}`);
|
|
|
|
}
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
tap.test('make a decision based on an object', async () => {
|
|
|
|
testSmartruleInstance.makeDecision({
|
|
|
|
id: '123456',
|
|
|
|
body: 'hello, there. This is a cool message!'
|
|
|
|
})
|
2020-01-20 08:47:35 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
tap.start();
|