mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-09-16 14:57:15 +00:00
fix(bots): warn about incomplete processor event support
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import fs from 'node:fs';
|
||||
import test from 'node:test';
|
||||
import ts from 'typescript';
|
||||
|
||||
const source = fs.readFileSync(
|
||||
new URL(
|
||||
'../../src/app/home/components/event-patterns/event-pattern-groups.ts',
|
||||
import.meta.url,
|
||||
),
|
||||
'utf8',
|
||||
);
|
||||
const exports = {};
|
||||
new Function(
|
||||
'exports',
|
||||
ts.transpileModule(source, {
|
||||
compilerOptions: { module: ts.ModuleKind.CommonJS },
|
||||
}).outputText,
|
||||
)(exports);
|
||||
|
||||
for (const [supported, required, covered] of [
|
||||
['message.received', 'message.received', true],
|
||||
['message.received', 'group.member_joined', false],
|
||||
['message.received', 'message.*', false],
|
||||
['message.received', '*', false],
|
||||
['group.*', 'group.member_joined', true],
|
||||
['group.*', 'group.*', true],
|
||||
['group.*', 'groupish.member_joined', false],
|
||||
['group.*', '*', false],
|
||||
['*', 'group.*', true],
|
||||
['*', '*', true],
|
||||
]) {
|
||||
test(`${supported} ${covered ? 'covers' : 'does not cover'} ${required}`, () => {
|
||||
assert.equal(exports.eventPatternCovers(supported, required), covered);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user