11import { GenericMessageEvent } from '@slack/web-api' ;
22import { ChannelLimitedBot } from './channelLimitedBot' ;
33import Slack from './slackMock' ;
4+ import type { Mock } from 'vitest' ;
45
56vi . mock ( '../lib/slackUtils' ) ;
67
@@ -13,25 +14,25 @@ describe('ChannelLimitedBot', () => {
1314 process . env . CHANNEL_GAMES = slack . fakeChannel ;
1415 process . env . HAKATASHI_TOKEN = 'xoxb-hakatashi-token' ;
1516
16- ( slack . webClient . chat . getPermalink as vi . Mock ) . mockResolvedValue ( {
17+ ( slack . webClient . chat . getPermalink as Mock ) . mockResolvedValue ( {
1718 ok : true ,
1819 permalink : 'https://slack.com/archives/CHANNEL_ID/p1234567890123456' ,
1920 } ) ;
20- ( slack . webClient . chat . postEphemeral as vi . Mock ) . mockResolvedValue ( {
21+ ( slack . webClient . chat . postEphemeral as Mock ) . mockResolvedValue ( {
2122 ok : true ,
2223 message_ts : '12345.6789' ,
2324 } ) ;
24- ( slack . webClient . chat . postMessage as vi . Mock ) . mockResolvedValue ( {
25+ ( slack . webClient . chat . postMessage as Mock ) . mockResolvedValue ( {
2526 ok : true ,
2627 ts : 'progress.123' ,
2728 } ) ;
28- ( slack . webClient . chat . delete as vi . Mock ) . mockResolvedValue ( {
29+ ( slack . webClient . chat . delete as Mock ) . mockResolvedValue ( {
2930 ok : true ,
3031 } ) ;
3132 } ) ;
3233
3334 it ( 'responds to messages containing the wake word in the allowed channel' , async ( ) => {
34- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
35+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
3536
3637 class TestBot extends ChannelLimitedBot {
3738 protected override wakeWordRegex = / w a k e w o r d / ;
@@ -52,7 +53,7 @@ describe('ChannelLimitedBot', () => {
5253 } ) ;
5354
5455 it ( 'posts ephemeral message and deletes original when wake word is used in disallowed channel (null response)' , async ( ) => {
55- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
56+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
5657 const disallowedChannel = 'C9876543210' ;
5758
5859 class TestBot extends ChannelLimitedBot {
@@ -89,7 +90,7 @@ describe('ChannelLimitedBot', () => {
8990 } ) ;
9091
9192 it ( 'posts ephemeral message with permalink and deletes original when wake word is used in disallowed channel (with response)' , async ( ) => {
92- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
93+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
9394 const disallowedChannel = 'C9876543210' ;
9495 const responseTs = '12345.6789' ;
9596 const progressChannel = 'CPROGRESS' ;
@@ -134,7 +135,7 @@ describe('ChannelLimitedBot', () => {
134135 } ) ;
135136
136137 it ( 'ignores messages without the wake word' , async ( ) => {
137- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
138+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
138139
139140 class TestBot extends ChannelLimitedBot {
140141 protected override wakeWordRegex = / w a k e w o r d / ;
@@ -149,7 +150,7 @@ describe('ChannelLimitedBot', () => {
149150 } ) ;
150151
151152 it ( 'ignores messages from bots' , async ( ) => {
152- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
153+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
153154
154155 class TestBot extends ChannelLimitedBot {
155156 protected override wakeWordRegex = / w a k e w o r d / ;
@@ -167,7 +168,7 @@ describe('ChannelLimitedBot', () => {
167168 } ) ;
168169
169170 it ( 'ignores messages without user' , async ( ) => {
170- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
171+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
171172
172173 class TestBot extends ChannelLimitedBot {
173174 protected override wakeWordRegex = / w a k e w o r d / ;
@@ -187,7 +188,7 @@ describe('ChannelLimitedBot', () => {
187188 } ) ;
188189
189190 it ( 'ignores messages without text' , async ( ) => {
190- const onWakeWord = vi . fn < Promise < string | null > , [ GenericMessageEvent , string ] > ( ) ;
191+ const onWakeWord = vi . fn < ( message : GenericMessageEvent , channel : string ) => Promise < string | null > > ( ) ;
191192
192193 class TestBot extends ChannelLimitedBot {
193194 protected override wakeWordRegex = / w a k e w o r d / ;
0 commit comments