@@ -7,12 +7,14 @@ describe('app config', () => {
77 const parsed = parseConfigJsonl ( [
88 '{"type":"meta","version":1}' ,
99 '{"type":"im","id":"discord","enabled":true,"note":"discord","config":{"token":"abc","clientId":"123"}}' ,
10+ '{"type":"im","id":"slack","enabled":true,"config":{"botToken":"xoxb","appToken":"xapp","signingSecret":"secret"}}' ,
1011 '{"type":"im","id":"feishu","enabled":true,"config":{"appId":"app-1"}}' ,
1112 '{"type":"runtime","config":{"agentTimeoutMs":1200}}' ,
1213 ] . join ( '\n' ) ) ;
1314
14- expect ( parsed . availableIms ) . toHaveLength ( 1 ) ;
15+ expect ( parsed . availableIms ) . toHaveLength ( 2 ) ;
1516 expect ( parsed . availableIms [ 0 ] ?. id ) . toBe ( 'discord' ) ;
17+ expect ( parsed . availableIms [ 1 ] ?. id ) . toBe ( 'slack' ) ;
1618 expect ( parsed . runtime . agentTimeoutMs ) . toBe ( 1200 ) ;
1719 } ) ;
1820
@@ -30,14 +32,24 @@ describe('app config', () => {
3032 it ( 'ignores invalid last used platform preference values' , ( ) => {
3133 const parsed = parseConfigJsonl ( [
3234 '{"type":"meta","version":1}' ,
33- '{"type":"local-preferences","lastUsedPlatform":"slack "}' ,
35+ '{"type":"local-preferences","lastUsedPlatform":"teams "}' ,
3436 '{"type":"im","id":"discord","enabled":true,"config":{"token":"abc","clientId":"123"}}' ,
3537 ] . join ( '\n' ) ) ;
3638
3739 expect ( ( parsed as { lastUsedPlatform ?: string } ) . lastUsedPlatform ) . toBeUndefined ( ) ;
3840 expect ( parsed . errors ) . toHaveLength ( 0 ) ;
3941 } ) ;
4042
43+ it ( 'accepts Slack as a valid last used platform' , ( ) => {
44+ const parsed = parseConfigJsonl ( [
45+ '{"type":"meta","version":1}' ,
46+ '{"type":"local-preferences","lastUsedPlatform":"slack"}' ,
47+ '{"type":"im","id":"slack","enabled":true,"config":{"botToken":"xoxb","appToken":"xapp","signingSecret":"secret"}}' ,
48+ ] . join ( '\n' ) ) ;
49+
50+ expect ( ( parsed as { lastUsedPlatform ?: string } ) . lastUsedPlatform ) . toBe ( 'slack' ) ;
51+ } ) ;
52+
4153 it ( 'reports malformed lines without crashing the whole file' , ( ) => {
4254 const parsed = parseConfigJsonl ( '{"type":"meta","version":1}\nnope' ) ;
4355
0 commit comments