agent-messenger 2.10.0 → 2.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/package.json +1 -1
- package/dist/src/platforms/teams/token-extractor.d.ts.map +1 -1
- package/dist/src/platforms/teams/token-extractor.js +15 -2
- package/dist/src/platforms/teams/token-extractor.js.map +1 -1
- package/dist/src/shared/chromium/decryptor.d.ts +6 -0
- package/dist/src/shared/chromium/decryptor.d.ts.map +1 -1
- package/dist/src/shared/chromium/decryptor.js +26 -6
- package/dist/src/shared/chromium/decryptor.js.map +1 -1
- package/e2e/channeltalk.e2e.test.ts +13 -13
- package/e2e/channeltalkbot.e2e.test.ts +13 -13
- package/e2e/discord.e2e.test.ts +24 -24
- package/e2e/discordbot.e2e.test.ts +16 -16
- package/e2e/instagram.e2e.test.ts +10 -10
- package/e2e/kakaotalk.e2e.test.ts +7 -7
- package/e2e/line.e2e.test.ts +8 -8
- package/e2e/slack.e2e.test.ts +34 -34
- package/e2e/slackbot.e2e.test.ts +14 -14
- package/e2e/teams.e2e.test.ts +23 -23
- package/e2e/telegram.e2e.test.ts +8 -8
- package/e2e/webex.e2e.test.ts +14 -14
- package/e2e/whatsapp.e2e.test.ts +8 -8
- package/e2e/whatsappbot.e2e.test.ts +6 -6
- package/package.json +1 -1
- package/skills/agent-channeltalk/SKILL.md +1 -1
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +1 -1
- package/skills/agent-discordbot/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +1 -1
- package/skills/agent-kakaotalk/SKILL.md +1 -1
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +1 -1
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-teams/SKILL.md +1 -1
- package/skills/agent-telegram/SKILL.md +1 -1
- package/skills/agent-webex/SKILL.md +1 -1
- package/skills/agent-wechatbot/SKILL.md +1 -1
- package/skills/agent-whatsapp/SKILL.md +1 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/platforms/channeltalk/client.test.ts +26 -26
- package/src/platforms/channeltalk/commands/auth.test.ts +16 -16
- package/src/platforms/channeltalk/commands/bot.test.ts +2 -2
- package/src/platforms/channeltalk/commands/chat.test.ts +3 -3
- package/src/platforms/channeltalk/commands/group.test.ts +4 -4
- package/src/platforms/channeltalk/commands/manager.test.ts +2 -2
- package/src/platforms/channeltalk/commands/message.test.ts +17 -17
- package/src/platforms/channeltalk/commands/snapshot.test.ts +7 -7
- package/src/platforms/channeltalk/commands/whoami.test.ts +3 -3
- package/src/platforms/channeltalk/credential-manager.test.ts +18 -18
- package/src/platforms/channeltalk/ensure-auth.test.ts +5 -5
- package/src/platforms/channeltalk/index.test.ts +23 -23
- package/src/platforms/channeltalk/token-extractor.test.ts +21 -21
- package/src/platforms/channeltalk/types.test.ts +12 -12
- package/src/platforms/channeltalkbot/client.test.ts +14 -14
- package/src/platforms/channeltalkbot/commands/auth.test.ts +16 -16
- package/src/platforms/channeltalkbot/commands/bot.test.ts +6 -6
- package/src/platforms/channeltalkbot/commands/chat.test.ts +9 -9
- package/src/platforms/channeltalkbot/commands/group.test.ts +6 -6
- package/src/platforms/channeltalkbot/commands/manager.test.ts +3 -3
- package/src/platforms/channeltalkbot/commands/message.test.ts +10 -10
- package/src/platforms/channeltalkbot/commands/snapshot.test.ts +7 -7
- package/src/platforms/channeltalkbot/commands/whoami.test.ts +4 -4
- package/src/platforms/channeltalkbot/credential-manager.test.ts +27 -27
- package/src/platforms/channeltalkbot/index.test.ts +15 -15
- package/src/platforms/discord/client.test.ts +28 -28
- package/src/platforms/discord/commands/auth.test.ts +7 -7
- package/src/platforms/discord/commands/channel.test.ts +7 -7
- package/src/platforms/discord/commands/dm.test.ts +4 -4
- package/src/platforms/discord/commands/file.test.ts +4 -4
- package/src/platforms/discord/commands/friend.test.ts +6 -6
- package/src/platforms/discord/commands/member.test.ts +5 -5
- package/src/platforms/discord/commands/mention.test.ts +5 -5
- package/src/platforms/discord/commands/message.test.ts +9 -9
- package/src/platforms/discord/commands/note.test.ts +6 -6
- package/src/platforms/discord/commands/profile.test.ts +4 -4
- package/src/platforms/discord/commands/reaction.test.ts +5 -5
- package/src/platforms/discord/commands/server.test.ts +7 -7
- package/src/platforms/discord/commands/snapshot.test.ts +6 -6
- package/src/platforms/discord/commands/thread.test.ts +6 -6
- package/src/platforms/discord/commands/user.test.ts +5 -5
- package/src/platforms/discord/commands/whoami.test.ts +6 -6
- package/src/platforms/discord/credential-manager.test.ts +16 -16
- package/src/platforms/discord/ensure-auth.test.ts +8 -8
- package/src/platforms/discord/index.test.ts +17 -17
- package/src/platforms/discord/listener.test.ts +33 -33
- package/src/platforms/discord/token-extractor.test.ts +53 -53
- package/src/platforms/discord/types.test.ts +26 -26
- package/src/platforms/discordbot/client.test.ts +31 -31
- package/src/platforms/discordbot/commands/auth.test.ts +18 -18
- package/src/platforms/discordbot/commands/channel.test.ts +11 -11
- package/src/platforms/discordbot/commands/file.test.ts +7 -7
- package/src/platforms/discordbot/commands/message.test.ts +25 -25
- package/src/platforms/discordbot/commands/reaction.test.ts +6 -6
- package/src/platforms/discordbot/commands/server.test.ts +12 -12
- package/src/platforms/discordbot/commands/snapshot.test.ts +13 -13
- package/src/platforms/discordbot/commands/thread.test.ts +10 -10
- package/src/platforms/discordbot/commands/user.test.ts +9 -9
- package/src/platforms/discordbot/commands/whoami.test.ts +4 -4
- package/src/platforms/discordbot/credential-manager.test.ts +28 -28
- package/src/platforms/instagram/client.test.ts +18 -18
- package/src/platforms/instagram/commands/auth.test.ts +11 -11
- package/src/platforms/instagram/commands/chat.test.ts +6 -6
- package/src/platforms/instagram/commands/message.test.ts +11 -11
- package/src/platforms/instagram/commands/shared.test.ts +12 -12
- package/src/platforms/instagram/commands/whoami.test.ts +3 -3
- package/src/platforms/instagram/credential-manager.test.ts +21 -21
- package/src/platforms/instagram/ensure-auth.test.ts +4 -4
- package/src/platforms/instagram/index.test.ts +9 -9
- package/src/platforms/instagram/listener.test.ts +8 -8
- package/src/platforms/instagram/token-extractor.test.ts +35 -35
- package/src/platforms/kakaotalk/client.test.ts +33 -33
- package/src/platforms/kakaotalk/commands/auth.test.ts +11 -11
- package/src/platforms/kakaotalk/commands/chat.test.ts +6 -6
- package/src/platforms/kakaotalk/commands/message.test.ts +7 -7
- package/src/platforms/kakaotalk/commands/whoami.test.ts +5 -5
- package/src/platforms/kakaotalk/credential-manager.test.ts +15 -15
- package/src/platforms/kakaotalk/index.test.ts +15 -15
- package/src/platforms/kakaotalk/listener.test.ts +17 -17
- package/src/platforms/line/client.test.ts +17 -17
- package/src/platforms/line/commands/auth.test.ts +8 -8
- package/src/platforms/line/commands/chat.test.ts +7 -7
- package/src/platforms/line/commands/friend.test.ts +6 -6
- package/src/platforms/line/commands/message.test.ts +7 -7
- package/src/platforms/line/commands/whoami.test.ts +6 -6
- package/src/platforms/line/credential-manager.test.ts +17 -17
- package/src/platforms/line/index.test.ts +10 -10
- package/src/platforms/line/listener.test.ts +15 -15
- package/src/platforms/line/types.test.ts +14 -14
- package/src/platforms/slack/cli.test.ts +8 -8
- package/src/platforms/slack/client.test.ts +151 -151
- package/src/platforms/slack/commands/activity.test.ts +13 -13
- package/src/platforms/slack/commands/auth.test.ts +34 -34
- package/src/platforms/slack/commands/bookmark.test.ts +9 -9
- package/src/platforms/slack/commands/channel.test.ts +17 -17
- package/src/platforms/slack/commands/drafts.test.ts +7 -7
- package/src/platforms/slack/commands/emoji.test.ts +3 -3
- package/src/platforms/slack/commands/file.test.ts +12 -12
- package/src/platforms/slack/commands/message.test.ts +19 -19
- package/src/platforms/slack/commands/pin.test.ts +7 -7
- package/src/platforms/slack/commands/reaction.test.ts +10 -10
- package/src/platforms/slack/commands/reminder.test.ts +9 -9
- package/src/platforms/slack/commands/saved.test.ts +7 -7
- package/src/platforms/slack/commands/sections.test.ts +5 -5
- package/src/platforms/slack/commands/snapshot.test.ts +13 -13
- package/src/platforms/slack/commands/unread.test.ts +6 -6
- package/src/platforms/slack/commands/user.test.ts +10 -10
- package/src/platforms/slack/commands/usergroup.test.ts +15 -15
- package/src/platforms/slack/commands/whoami.test.ts +6 -6
- package/src/platforms/slack/commands/workspace.test.ts +26 -26
- package/src/platforms/slack/credential-manager.test.ts +14 -14
- package/src/platforms/slack/ensure-auth.test.ts +21 -21
- package/src/platforms/slack/index.test.ts +12 -12
- package/src/platforms/slack/listener.test.ts +17 -17
- package/src/platforms/slack/token-extractor-node.test.ts +2 -2
- package/src/platforms/slack/token-extractor.test.ts +37 -37
- package/src/platforms/slack/types.test.ts +21 -21
- package/src/platforms/slackbot/client.test.ts +22 -22
- package/src/platforms/slackbot/commands/auth.test.ts +14 -14
- package/src/platforms/slackbot/commands/channel.test.ts +7 -7
- package/src/platforms/slackbot/commands/message.test.ts +13 -13
- package/src/platforms/slackbot/commands/reaction.test.ts +6 -6
- package/src/platforms/slackbot/commands/user.test.ts +7 -7
- package/src/platforms/slackbot/commands/whoami.test.ts +4 -4
- package/src/platforms/slackbot/credential-manager.test.ts +22 -22
- package/src/platforms/slackbot/types.test.ts +7 -7
- package/src/platforms/teams/client.test.ts +30 -30
- package/src/platforms/teams/commands/auth.test.ts +8 -8
- package/src/platforms/teams/commands/channel.test.ts +7 -7
- package/src/platforms/teams/commands/file.test.ts +4 -4
- package/src/platforms/teams/commands/message.test.ts +5 -5
- package/src/platforms/teams/commands/reaction.test.ts +4 -4
- package/src/platforms/teams/commands/snapshot.test.ts +7 -7
- package/src/platforms/teams/commands/team.test.ts +8 -8
- package/src/platforms/teams/commands/user.test.ts +4 -4
- package/src/platforms/teams/commands/whoami.test.ts +6 -6
- package/src/platforms/teams/credential-manager.test.ts +17 -17
- package/src/platforms/teams/ensure-auth.test.ts +13 -13
- package/src/platforms/teams/index.test.ts +15 -15
- package/src/platforms/teams/token-extractor.test.ts +219 -145
- package/src/platforms/teams/token-extractor.ts +13 -2
- package/src/platforms/teams/types.test.ts +26 -26
- package/src/platforms/telegram/app-config.test.ts +4 -4
- package/src/platforms/telegram/chat-utils.test.ts +12 -12
- package/src/platforms/telegram/client.test.ts +4 -4
- package/src/platforms/telegram/commands/auth.test.ts +16 -16
- package/src/platforms/telegram/commands/chat.test.ts +9 -9
- package/src/platforms/telegram/commands/message.test.ts +6 -6
- package/src/platforms/telegram/commands/shared.test.ts +3 -3
- package/src/platforms/telegram/commands/whoami.test.ts +3 -3
- package/src/platforms/telegram/credential-manager.test.ts +10 -10
- package/src/platforms/telegram/types.test.ts +6 -6
- package/src/platforms/webex/app-config.test.ts +8 -8
- package/src/platforms/webex/cli.test.ts +5 -5
- package/src/platforms/webex/client.test.ts +65 -65
- package/src/platforms/webex/commands/auth.test.ts +18 -18
- package/src/platforms/webex/commands/member.test.ts +5 -5
- package/src/platforms/webex/commands/message.test.ts +12 -12
- package/src/platforms/webex/commands/snapshot.test.ts +5 -5
- package/src/platforms/webex/commands/space.test.ts +10 -10
- package/src/platforms/webex/commands/whoami.test.ts +6 -6
- package/src/platforms/webex/credential-manager.test.ts +22 -22
- package/src/platforms/webex/encryption.test.ts +4 -4
- package/src/platforms/webex/ensure-auth.test.ts +5 -5
- package/src/platforms/webex/index.test.ts +5 -5
- package/src/platforms/webex/markdown-to-html.test.ts +33 -33
- package/src/platforms/webex/token-extractor.test.ts +23 -23
- package/src/platforms/webex/types.test.ts +27 -27
- package/src/platforms/wechatbot/client.test.ts +27 -27
- package/src/platforms/wechatbot/commands/auth.test.ts +15 -15
- package/src/platforms/wechatbot/commands/message.test.ts +8 -8
- package/src/platforms/wechatbot/commands/template.test.ts +9 -9
- package/src/platforms/wechatbot/commands/user.test.ts +7 -7
- package/src/platforms/wechatbot/commands/whoami.test.ts +5 -5
- package/src/platforms/wechatbot/credential-manager.test.ts +18 -18
- package/src/platforms/wechatbot/index.test.ts +10 -10
- package/src/platforms/wechatbot/types.test.ts +25 -25
- package/src/platforms/whatsapp/commands/auth.test.ts +13 -13
- package/src/platforms/whatsapp/commands/chat.test.ts +8 -8
- package/src/platforms/whatsapp/commands/message.test.ts +10 -10
- package/src/platforms/whatsapp/commands/whoami.test.ts +3 -3
- package/src/platforms/whatsapp/credential-manager.test.ts +23 -23
- package/src/platforms/whatsapp/ensure-auth.test.ts +4 -4
- package/src/platforms/whatsapp/index.test.ts +8 -8
- package/src/platforms/whatsapp/types.test.ts +42 -42
- package/src/platforms/whatsappbot/client.test.ts +27 -27
- package/src/platforms/whatsappbot/commands/auth.test.ts +14 -14
- package/src/platforms/whatsappbot/commands/message.test.ts +16 -16
- package/src/platforms/whatsappbot/commands/template.test.ts +9 -9
- package/src/platforms/whatsappbot/commands/whoami.test.ts +5 -5
- package/src/platforms/whatsappbot/credential-manager.test.ts +18 -18
- package/src/platforms/whatsappbot/index.test.ts +7 -7
- package/src/platforms/whatsappbot/types.test.ts +18 -18
- package/src/shared/chromium/browsers.test.ts +22 -22
- package/src/shared/chromium/cookie-reader.test.ts +13 -13
- package/src/shared/chromium/decryptor.test.ts +97 -32
- package/src/shared/chromium/decryptor.ts +27 -6
- package/src/shared/utils/concurrency.test.ts +6 -6
- package/src/shared/utils/derived-key-cache.test.ts +11 -11
- package/src/tui/utils.test.ts +31 -31
package/e2e/slack.e2e.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe,
|
|
1
|
+
import { describe, it, expect, beforeAll, afterEach } from 'bun:test'
|
|
2
2
|
|
|
3
3
|
import { WebClient } from '@slack/web-api'
|
|
4
4
|
|
|
@@ -32,7 +32,7 @@ describe('Slack E2E Tests', () => {
|
|
|
32
32
|
})
|
|
33
33
|
|
|
34
34
|
describe('auth', () => {
|
|
35
|
-
|
|
35
|
+
it('auth status returns authenticated workspace info', async () => {
|
|
36
36
|
const result = await runCLI('slack', ['auth', 'status'])
|
|
37
37
|
expect(result.exitCode).toBe(0)
|
|
38
38
|
|
|
@@ -44,7 +44,7 @@ describe('Slack E2E Tests', () => {
|
|
|
44
44
|
})
|
|
45
45
|
|
|
46
46
|
describe('workspace', () => {
|
|
47
|
-
|
|
47
|
+
it('workspace list returns array', async () => {
|
|
48
48
|
const result = await runCLI('slack', ['workspace', 'list'])
|
|
49
49
|
expect(result.exitCode).toBe(0)
|
|
50
50
|
|
|
@@ -52,7 +52,7 @@ describe('Slack E2E Tests', () => {
|
|
|
52
52
|
expect(Array.isArray(data)).toBe(true)
|
|
53
53
|
})
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
it('workspace current returns current workspace', async () => {
|
|
56
56
|
const result = await runCLI('slack', ['workspace', 'current'])
|
|
57
57
|
expect(result.exitCode).toBe(0)
|
|
58
58
|
|
|
@@ -62,7 +62,7 @@ describe('Slack E2E Tests', () => {
|
|
|
62
62
|
})
|
|
63
63
|
|
|
64
64
|
describe('message', () => {
|
|
65
|
-
|
|
65
|
+
it('message send creates message and returns ts', async () => {
|
|
66
66
|
const testId = generateTestId()
|
|
67
67
|
const result = await runCLI('slack', ['message', 'send', SLACK_TEST_CHANNEL_ID, `Test message ${testId}`])
|
|
68
68
|
expect(result.exitCode).toBe(0)
|
|
@@ -73,7 +73,7 @@ describe('Slack E2E Tests', () => {
|
|
|
73
73
|
if (data?.ts) testMessages.push(data.ts)
|
|
74
74
|
})
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
it('message list returns messages array', async () => {
|
|
77
77
|
const result = await runCLI('slack', ['message', 'list', SLACK_TEST_CHANNEL_ID, '--limit', '5'])
|
|
78
78
|
expect(result.exitCode).toBe(0)
|
|
79
79
|
|
|
@@ -81,7 +81,7 @@ describe('Slack E2E Tests', () => {
|
|
|
81
81
|
expect(Array.isArray(data)).toBe(true)
|
|
82
82
|
})
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
it('message get retrieves specific message', async () => {
|
|
85
85
|
const testId = generateTestId()
|
|
86
86
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Get test ${testId}`)
|
|
87
87
|
testMessages.push(ts)
|
|
@@ -95,7 +95,7 @@ describe('Slack E2E Tests', () => {
|
|
|
95
95
|
expect(data?.text).toContain(testId)
|
|
96
96
|
})
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
it('message update modifies message', async () => {
|
|
99
99
|
const testId = generateTestId()
|
|
100
100
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Original ${testId}`)
|
|
101
101
|
testMessages.push(ts)
|
|
@@ -111,7 +111,7 @@ describe('Slack E2E Tests', () => {
|
|
|
111
111
|
expect(data?.text).toContain('Updated')
|
|
112
112
|
})
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
it('message search finds messages', async () => {
|
|
115
115
|
const result = await runCLI('slack', ['message', 'search', 'test', '--limit', '5'])
|
|
116
116
|
expect(result.exitCode).toBe(0)
|
|
117
117
|
|
|
@@ -119,7 +119,7 @@ describe('Slack E2E Tests', () => {
|
|
|
119
119
|
expect(Array.isArray(data)).toBe(true)
|
|
120
120
|
})
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
it('message send with thread creates reply', async () => {
|
|
123
123
|
const testId = generateTestId()
|
|
124
124
|
const { id: parentTs } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Parent ${testId}`)
|
|
125
125
|
testMessages.push(parentTs)
|
|
@@ -142,7 +142,7 @@ describe('Slack E2E Tests', () => {
|
|
|
142
142
|
if (data?.ts) testMessages.push(data.ts)
|
|
143
143
|
}, 30000)
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
it('message replies gets thread replies', async () => {
|
|
146
146
|
const testId = generateTestId()
|
|
147
147
|
const { id: parentTs } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Thread parent ${testId}`)
|
|
148
148
|
testMessages.push(parentTs)
|
|
@@ -161,7 +161,7 @@ describe('Slack E2E Tests', () => {
|
|
|
161
161
|
expect(data?.length).toBeGreaterThanOrEqual(1)
|
|
162
162
|
})
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
it('message delete removes message', async () => {
|
|
165
165
|
const testId = generateTestId()
|
|
166
166
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Delete me ${testId}`)
|
|
167
167
|
|
|
@@ -173,7 +173,7 @@ describe('Slack E2E Tests', () => {
|
|
|
173
173
|
})
|
|
174
174
|
|
|
175
175
|
describe('message files', () => {
|
|
176
|
-
|
|
176
|
+
it('message get includes files when message has file attachment', async () => {
|
|
177
177
|
// Upload file directly via Slack WebClient (bypasses CLI file upload mapping issue)
|
|
178
178
|
const credManager = new CredentialManager()
|
|
179
179
|
const workspace = await credManager.getWorkspace()
|
|
@@ -222,7 +222,7 @@ describe('Slack E2E Tests', () => {
|
|
|
222
222
|
expect(getMessage?.files![0].id).toBe(file.id)
|
|
223
223
|
}, 30000)
|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
it('message get omits files for plain text message', async () => {
|
|
226
226
|
const testId = generateTestId()
|
|
227
227
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `No files ${testId}`)
|
|
228
228
|
testMessages.push(ts)
|
|
@@ -239,7 +239,7 @@ describe('Slack E2E Tests', () => {
|
|
|
239
239
|
})
|
|
240
240
|
|
|
241
241
|
describe('channel', () => {
|
|
242
|
-
|
|
242
|
+
it('channel list returns channels array', async () => {
|
|
243
243
|
const result = await runCLI('slack', ['channel', 'list'])
|
|
244
244
|
expect(result.exitCode).toBe(0)
|
|
245
245
|
|
|
@@ -248,7 +248,7 @@ describe('Slack E2E Tests', () => {
|
|
|
248
248
|
expect(data?.length).toBeGreaterThan(0)
|
|
249
249
|
})
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
it('channel list --type public filters channels', async () => {
|
|
252
252
|
const result = await runCLI('slack', ['channel', 'list', '--type', 'public'])
|
|
253
253
|
expect(result.exitCode).toBe(0)
|
|
254
254
|
|
|
@@ -256,7 +256,7 @@ describe('Slack E2E Tests', () => {
|
|
|
256
256
|
expect(Array.isArray(data)).toBe(true)
|
|
257
257
|
})
|
|
258
258
|
|
|
259
|
-
|
|
259
|
+
it('channel info returns channel details', async () => {
|
|
260
260
|
const result = await runCLI('slack', ['channel', 'info', SLACK_TEST_CHANNEL_ID])
|
|
261
261
|
expect(result.exitCode).toBe(0)
|
|
262
262
|
|
|
@@ -267,7 +267,7 @@ describe('Slack E2E Tests', () => {
|
|
|
267
267
|
})
|
|
268
268
|
|
|
269
269
|
describe('user', () => {
|
|
270
|
-
|
|
270
|
+
it('user list returns users array', async () => {
|
|
271
271
|
const result = await runCLI('slack', ['user', 'list'])
|
|
272
272
|
expect(result.exitCode).toBe(0)
|
|
273
273
|
|
|
@@ -275,7 +275,7 @@ describe('Slack E2E Tests', () => {
|
|
|
275
275
|
expect(Array.isArray(data)).toBe(true)
|
|
276
276
|
})
|
|
277
277
|
|
|
278
|
-
|
|
278
|
+
it('user me returns current user', async () => {
|
|
279
279
|
const result = await runCLI('slack', ['user', 'me'])
|
|
280
280
|
expect(result.exitCode).toBe(0)
|
|
281
281
|
|
|
@@ -284,7 +284,7 @@ describe('Slack E2E Tests', () => {
|
|
|
284
284
|
expect(data?.name).toBeTruthy()
|
|
285
285
|
})
|
|
286
286
|
|
|
287
|
-
|
|
287
|
+
it('user info returns user details', async () => {
|
|
288
288
|
// First get current user ID
|
|
289
289
|
const meResult = await runCLI('slack', ['user', 'me'])
|
|
290
290
|
const me = parseJSON<{ id: string }>(meResult.stdout)
|
|
@@ -302,7 +302,7 @@ describe('Slack E2E Tests', () => {
|
|
|
302
302
|
})
|
|
303
303
|
|
|
304
304
|
describe('reaction', () => {
|
|
305
|
-
|
|
305
|
+
it('reaction add/list/remove lifecycle', async () => {
|
|
306
306
|
const testId = generateTestId()
|
|
307
307
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Reaction test ${testId}`)
|
|
308
308
|
testMessages.push(ts)
|
|
@@ -328,7 +328,7 @@ describe('Slack E2E Tests', () => {
|
|
|
328
328
|
})
|
|
329
329
|
|
|
330
330
|
describe('file', () => {
|
|
331
|
-
|
|
331
|
+
it('file list returns files array', async () => {
|
|
332
332
|
const result = await runCLI('slack', ['file', 'list'])
|
|
333
333
|
expect(result.exitCode).toBe(0)
|
|
334
334
|
|
|
@@ -336,7 +336,7 @@ describe('Slack E2E Tests', () => {
|
|
|
336
336
|
expect(Array.isArray(data)).toBe(true)
|
|
337
337
|
})
|
|
338
338
|
|
|
339
|
-
|
|
339
|
+
it.skip('file upload uploads file', async () => {
|
|
340
340
|
const testId = generateTestId()
|
|
341
341
|
const testFilePath = `/tmp/slack-e2e-${testId}.txt`
|
|
342
342
|
await Bun.write(testFilePath, `E2E test file content ${testId}`)
|
|
@@ -358,7 +358,7 @@ describe('Slack E2E Tests', () => {
|
|
|
358
358
|
}
|
|
359
359
|
})
|
|
360
360
|
|
|
361
|
-
|
|
361
|
+
it('file download downloads a file', async () => {
|
|
362
362
|
const testId = generateTestId()
|
|
363
363
|
const testContent = `E2E download test ${testId}`
|
|
364
364
|
const testFilePath = `/tmp/slack-e2e-upload-${testId}.txt`
|
|
@@ -408,7 +408,7 @@ describe('Slack E2E Tests', () => {
|
|
|
408
408
|
})
|
|
409
409
|
|
|
410
410
|
describe('channel history', () => {
|
|
411
|
-
|
|
411
|
+
it('channel history returns messages', async () => {
|
|
412
412
|
const result = await runCLI('slack', ['channel', 'history', SLACK_TEST_CHANNEL_ID, '--limit', '5'])
|
|
413
413
|
expect(result.exitCode).toBe(0)
|
|
414
414
|
|
|
@@ -418,7 +418,7 @@ describe('Slack E2E Tests', () => {
|
|
|
418
418
|
})
|
|
419
419
|
|
|
420
420
|
describe('unread', () => {
|
|
421
|
-
|
|
421
|
+
it('unread counts returns unread summary', async () => {
|
|
422
422
|
const result = await runCLI('slack', ['unread', 'counts'])
|
|
423
423
|
expect(result.exitCode).toBe(0)
|
|
424
424
|
|
|
@@ -427,7 +427,7 @@ describe('Slack E2E Tests', () => {
|
|
|
427
427
|
expect(Array.isArray(data?.channels)).toBe(true)
|
|
428
428
|
})
|
|
429
429
|
|
|
430
|
-
|
|
430
|
+
it('unread mark marks channel as read', async () => {
|
|
431
431
|
const testId = generateTestId()
|
|
432
432
|
const { id: ts } = await createTestMessage('slack', SLACK_TEST_CHANNEL_ID, `Unread mark test ${testId}`)
|
|
433
433
|
testMessages.push(ts)
|
|
@@ -443,7 +443,7 @@ describe('Slack E2E Tests', () => {
|
|
|
443
443
|
})
|
|
444
444
|
|
|
445
445
|
describe('activity', () => {
|
|
446
|
-
|
|
446
|
+
it('activity list returns activity items', async () => {
|
|
447
447
|
const result = await runCLI('slack', ['activity', 'list', '--limit', '5'])
|
|
448
448
|
expect(result.exitCode).toBe(0)
|
|
449
449
|
|
|
@@ -454,7 +454,7 @@ describe('Slack E2E Tests', () => {
|
|
|
454
454
|
})
|
|
455
455
|
|
|
456
456
|
describe('saved', () => {
|
|
457
|
-
|
|
457
|
+
it('saved list returns saved items', async () => {
|
|
458
458
|
const result = await runCLI('slack', ['saved', 'list'])
|
|
459
459
|
expect(result.exitCode).toBe(0)
|
|
460
460
|
|
|
@@ -465,7 +465,7 @@ describe('Slack E2E Tests', () => {
|
|
|
465
465
|
})
|
|
466
466
|
|
|
467
467
|
describe('drafts', () => {
|
|
468
|
-
|
|
468
|
+
it('drafts list returns drafts', async () => {
|
|
469
469
|
const result = await runCLI('slack', ['drafts', 'list'])
|
|
470
470
|
expect(result.exitCode).toBe(0)
|
|
471
471
|
|
|
@@ -475,7 +475,7 @@ describe('Slack E2E Tests', () => {
|
|
|
475
475
|
})
|
|
476
476
|
|
|
477
477
|
describe('sections', () => {
|
|
478
|
-
|
|
478
|
+
it('sections list returns channel sections', async () => {
|
|
479
479
|
const result = await runCLI('slack', ['sections', 'list'])
|
|
480
480
|
expect(result.exitCode).toBe(0)
|
|
481
481
|
|
|
@@ -485,7 +485,7 @@ describe('Slack E2E Tests', () => {
|
|
|
485
485
|
})
|
|
486
486
|
|
|
487
487
|
describe('snapshot', () => {
|
|
488
|
-
|
|
488
|
+
it('snapshot returns full workspace data', async () => {
|
|
489
489
|
const result = await runCLI('slack', ['snapshot', '--limit', '2'])
|
|
490
490
|
expect(result.exitCode).toBe(0)
|
|
491
491
|
|
|
@@ -494,7 +494,7 @@ describe('Slack E2E Tests', () => {
|
|
|
494
494
|
expect(data?.users).toBeDefined()
|
|
495
495
|
})
|
|
496
496
|
|
|
497
|
-
|
|
497
|
+
it('snapshot --channels-only returns only channels', async () => {
|
|
498
498
|
const result = await runCLI('slack', ['snapshot', '--channels-only'])
|
|
499
499
|
expect(result.exitCode).toBe(0)
|
|
500
500
|
|
|
@@ -502,7 +502,7 @@ describe('Slack E2E Tests', () => {
|
|
|
502
502
|
expect(data?.channels).toBeDefined()
|
|
503
503
|
})
|
|
504
504
|
|
|
505
|
-
|
|
505
|
+
it('snapshot --users-only returns only users', async () => {
|
|
506
506
|
const result = await runCLI('slack', ['snapshot', '--users-only'])
|
|
507
507
|
expect(result.exitCode).toBe(0)
|
|
508
508
|
|
package/e2e/slackbot.e2e.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe,
|
|
1
|
+
import { describe, it, expect, beforeAll, afterEach } from 'bun:test'
|
|
2
2
|
|
|
3
3
|
import { SlackBotClient } from '../src/platforms/slackbot/client'
|
|
4
4
|
import { SlackBotCredentialManager } from '../src/platforms/slackbot/credential-manager'
|
|
@@ -48,7 +48,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
48
48
|
})
|
|
49
49
|
|
|
50
50
|
describe('auth', () => {
|
|
51
|
-
|
|
51
|
+
it('auth status returns valid bot info', async () => {
|
|
52
52
|
const result = await runCLI('slackbot', ['auth', 'status'])
|
|
53
53
|
expect(result.exitCode).toBe(0)
|
|
54
54
|
|
|
@@ -67,7 +67,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
67
67
|
})
|
|
68
68
|
|
|
69
69
|
describe('message', () => {
|
|
70
|
-
|
|
70
|
+
it('message send creates message and returns ts', async () => {
|
|
71
71
|
const testId = generateTestId()
|
|
72
72
|
const result = await runCLI('slackbot', ['message', 'send', SLACKBOT_TEST_CHANNEL_ID, `Bot test ${testId}`])
|
|
73
73
|
expect(result.exitCode).toBe(0)
|
|
@@ -79,7 +79,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
79
79
|
if (data?.ts) testMessages.push(data.ts)
|
|
80
80
|
})
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
it('message list returns messages array', async () => {
|
|
83
83
|
const result = await runCLI('slackbot', ['message', 'list', SLACKBOT_TEST_CHANNEL_ID, '--limit', '5'])
|
|
84
84
|
expect(result.exitCode).toBe(0)
|
|
85
85
|
|
|
@@ -87,7 +87,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
87
87
|
expect(Array.isArray(data)).toBe(true)
|
|
88
88
|
})
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
it('message get retrieves specific message', async () => {
|
|
91
91
|
const testId = generateTestId()
|
|
92
92
|
const sendResult = await runCLI('slackbot', ['message', 'send', SLACKBOT_TEST_CHANNEL_ID, `Get test ${testId}`])
|
|
93
93
|
const sent = parseJSON<{ ts: string }>(sendResult.stdout)
|
|
@@ -104,7 +104,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
104
104
|
expect(data?.ts).toBe(sent!.ts)
|
|
105
105
|
})
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
it('message update modifies message', async () => {
|
|
108
108
|
const testId = generateTestId()
|
|
109
109
|
const sendResult = await runCLI('slackbot', ['message', 'send', SLACKBOT_TEST_CHANNEL_ID, `Original ${testId}`])
|
|
110
110
|
const sent = parseJSON<{ ts: string }>(sendResult.stdout)
|
|
@@ -129,7 +129,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
129
129
|
expect(data?.text).toContain('Updated')
|
|
130
130
|
})
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
it('message delete removes message', async () => {
|
|
133
133
|
const testId = generateTestId()
|
|
134
134
|
const sendResult = await runCLI('slackbot', ['message', 'send', SLACKBOT_TEST_CHANNEL_ID, `Delete me ${testId}`])
|
|
135
135
|
const sent = parseJSON<{ ts: string }>(sendResult.stdout)
|
|
@@ -144,7 +144,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
144
144
|
expect(data?.deleted).toBe(sent!.ts)
|
|
145
145
|
})
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
it('message send with --thread creates reply', async () => {
|
|
148
148
|
const testId = generateTestId()
|
|
149
149
|
const sendResult = await runCLI('slackbot', ['message', 'send', SLACKBOT_TEST_CHANNEL_ID, `Parent ${testId}`])
|
|
150
150
|
const parent = parseJSON<{ ts: string }>(sendResult.stdout)
|
|
@@ -169,7 +169,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
169
169
|
if (reply?.ts) testMessages.push(reply.ts)
|
|
170
170
|
}, 30000)
|
|
171
171
|
|
|
172
|
-
|
|
172
|
+
it('message replies gets thread replies', async () => {
|
|
173
173
|
const testId = generateTestId()
|
|
174
174
|
const sendResult = await runCLI('slackbot', [
|
|
175
175
|
'message',
|
|
@@ -207,7 +207,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
207
207
|
})
|
|
208
208
|
|
|
209
209
|
describe('channel', () => {
|
|
210
|
-
|
|
210
|
+
it('channel list returns channels array', async () => {
|
|
211
211
|
const result = await runCLI('slackbot', ['channel', 'list', '--limit', '10'])
|
|
212
212
|
expect(result.exitCode).toBe(0)
|
|
213
213
|
|
|
@@ -216,7 +216,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
216
216
|
expect(data!.length).toBeGreaterThan(0)
|
|
217
217
|
})
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
it('channel info returns channel details', async () => {
|
|
220
220
|
const result = await runCLI('slackbot', ['channel', 'info', SLACKBOT_TEST_CHANNEL_ID])
|
|
221
221
|
expect(result.exitCode).toBe(0)
|
|
222
222
|
|
|
@@ -227,7 +227,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
227
227
|
})
|
|
228
228
|
|
|
229
229
|
describe('user', () => {
|
|
230
|
-
|
|
230
|
+
it('user list returns users array', async () => {
|
|
231
231
|
const result = await runCLI('slackbot', ['user', 'list', '--limit', '10'])
|
|
232
232
|
expect(result.exitCode).toBe(0)
|
|
233
233
|
|
|
@@ -236,7 +236,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
236
236
|
expect(data!.length).toBeGreaterThan(0)
|
|
237
237
|
})
|
|
238
238
|
|
|
239
|
-
|
|
239
|
+
it('user info returns user details', async () => {
|
|
240
240
|
// given: get the bot's own user_id via auth status
|
|
241
241
|
const statusResult = await runCLI('slackbot', ['auth', 'status'])
|
|
242
242
|
const status = parseJSON<{ bot_id: string; user: string }>(statusResult.stdout)
|
|
@@ -262,7 +262,7 @@ describe('SlackBot E2E Tests', () => {
|
|
|
262
262
|
})
|
|
263
263
|
|
|
264
264
|
describe('reaction', () => {
|
|
265
|
-
|
|
265
|
+
it('reaction add and remove lifecycle', async () => {
|
|
266
266
|
// given: a message to react to
|
|
267
267
|
const testId = generateTestId()
|
|
268
268
|
const sendResult = await runCLI('slackbot', [
|
package/e2e/teams.e2e.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { describe,
|
|
1
|
+
import { describe, it, expect, beforeAll, afterEach } from 'bun:test'
|
|
2
2
|
|
|
3
3
|
import { TEAMS_TEST_CHANNEL_ID, TEAMS_TEST_TEAM_ID, validateTeamsEnvironment } from './config'
|
|
4
4
|
import { runCLI, parseJSON, generateTestId, waitForRateLimit } from './helpers'
|
|
@@ -41,7 +41,7 @@ describe('Teams E2E Tests', () => {
|
|
|
41
41
|
})
|
|
42
42
|
|
|
43
43
|
describe('auth', () => {
|
|
44
|
-
|
|
44
|
+
it('auth status returns authenticated team info', async () => {
|
|
45
45
|
if (!teamsAvailable) return
|
|
46
46
|
|
|
47
47
|
const result = await runCLI('teams', ['auth', 'status'])
|
|
@@ -56,7 +56,7 @@ describe('Teams E2E Tests', () => {
|
|
|
56
56
|
})
|
|
57
57
|
|
|
58
58
|
describe('team', () => {
|
|
59
|
-
|
|
59
|
+
it('team list returns array', async () => {
|
|
60
60
|
if (!teamsAvailable) return
|
|
61
61
|
|
|
62
62
|
const result = await runCLI('teams', ['team', 'list'])
|
|
@@ -66,7 +66,7 @@ describe('Teams E2E Tests', () => {
|
|
|
66
66
|
expect(Array.isArray(data)).toBe(true)
|
|
67
67
|
})
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
it('team current returns current team', async () => {
|
|
70
70
|
if (!teamsAvailable) return
|
|
71
71
|
|
|
72
72
|
const result = await runCLI('teams', ['team', 'current'])
|
|
@@ -76,7 +76,7 @@ describe('Teams E2E Tests', () => {
|
|
|
76
76
|
expect(data?.team_id).toBe(TEAMS_TEST_TEAM_ID)
|
|
77
77
|
})
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
it('team info returns team details', async () => {
|
|
80
80
|
if (!teamsAvailable) return
|
|
81
81
|
|
|
82
82
|
const result = await runCLI('teams', ['team', 'info', TEAMS_TEST_TEAM_ID])
|
|
@@ -89,7 +89,7 @@ describe('Teams E2E Tests', () => {
|
|
|
89
89
|
})
|
|
90
90
|
|
|
91
91
|
describe('message', () => {
|
|
92
|
-
|
|
92
|
+
it('message send creates message', async () => {
|
|
93
93
|
if (!teamsAvailable) return
|
|
94
94
|
|
|
95
95
|
const testId = generateTestId()
|
|
@@ -108,7 +108,7 @@ describe('Teams E2E Tests', () => {
|
|
|
108
108
|
if (data?.id) testMessages.push(data.id)
|
|
109
109
|
})
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
it('message list returns messages array', async () => {
|
|
112
112
|
if (!teamsAvailable) return
|
|
113
113
|
|
|
114
114
|
const result = await runCLI('teams', [
|
|
@@ -125,7 +125,7 @@ describe('Teams E2E Tests', () => {
|
|
|
125
125
|
expect(Array.isArray(data)).toBe(true)
|
|
126
126
|
})
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
it('message get retrieves specific message', async () => {
|
|
129
129
|
if (!teamsAvailable) return
|
|
130
130
|
|
|
131
131
|
const testId = generateTestId()
|
|
@@ -141,7 +141,7 @@ describe('Teams E2E Tests', () => {
|
|
|
141
141
|
expect(data?.content).toContain(testId)
|
|
142
142
|
})
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
it('message delete removes message', async () => {
|
|
145
145
|
if (!teamsAvailable) return
|
|
146
146
|
|
|
147
147
|
const testId = generateTestId()
|
|
@@ -160,7 +160,7 @@ describe('Teams E2E Tests', () => {
|
|
|
160
160
|
expect(result.exitCode).toBe(0)
|
|
161
161
|
})
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
it('message command does not register update subcommand', async () => {
|
|
164
164
|
if (!teamsAvailable) return
|
|
165
165
|
|
|
166
166
|
const result = await runCLI('teams', ['message', '--help'])
|
|
@@ -170,7 +170,7 @@ describe('Teams E2E Tests', () => {
|
|
|
170
170
|
})
|
|
171
171
|
|
|
172
172
|
describe('channel', () => {
|
|
173
|
-
|
|
173
|
+
it('channel list returns channels array', async () => {
|
|
174
174
|
if (!teamsAvailable) return
|
|
175
175
|
|
|
176
176
|
const result = await runCLI('teams', ['channel', 'list', TEAMS_TEST_TEAM_ID])
|
|
@@ -180,7 +180,7 @@ describe('Teams E2E Tests', () => {
|
|
|
180
180
|
expect(Array.isArray(data)).toBe(true)
|
|
181
181
|
})
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
it('channel info returns channel details', async () => {
|
|
184
184
|
if (!teamsAvailable) return
|
|
185
185
|
|
|
186
186
|
const result = await runCLI('teams', ['channel', 'info', TEAMS_TEST_TEAM_ID, TEAMS_TEST_CHANNEL_ID])
|
|
@@ -190,7 +190,7 @@ describe('Teams E2E Tests', () => {
|
|
|
190
190
|
expect(data?.id).toBe(TEAMS_TEST_CHANNEL_ID)
|
|
191
191
|
})
|
|
192
192
|
|
|
193
|
-
|
|
193
|
+
it('channel history returns messages', async () => {
|
|
194
194
|
if (!teamsAvailable) return
|
|
195
195
|
|
|
196
196
|
const result = await runCLI('teams', [
|
|
@@ -209,7 +209,7 @@ describe('Teams E2E Tests', () => {
|
|
|
209
209
|
})
|
|
210
210
|
|
|
211
211
|
describe('user', () => {
|
|
212
|
-
|
|
212
|
+
it('user list returns users array', async () => {
|
|
213
213
|
if (!teamsAvailable) return
|
|
214
214
|
|
|
215
215
|
const result = await runCLI('teams', ['user', 'list', TEAMS_TEST_TEAM_ID])
|
|
@@ -219,7 +219,7 @@ describe('Teams E2E Tests', () => {
|
|
|
219
219
|
expect(Array.isArray(data)).toBe(true)
|
|
220
220
|
})
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
it('user me returns current user', async () => {
|
|
223
223
|
if (!teamsAvailable) return
|
|
224
224
|
|
|
225
225
|
const result = await runCLI('teams', ['user', 'me'])
|
|
@@ -230,7 +230,7 @@ describe('Teams E2E Tests', () => {
|
|
|
230
230
|
expect(data?.displayName).toBeTruthy()
|
|
231
231
|
})
|
|
232
232
|
|
|
233
|
-
|
|
233
|
+
it('user info returns user details', async () => {
|
|
234
234
|
if (!teamsAvailable) return
|
|
235
235
|
|
|
236
236
|
const meResult = await runCLI('teams', ['user', 'me'])
|
|
@@ -250,7 +250,7 @@ describe('Teams E2E Tests', () => {
|
|
|
250
250
|
})
|
|
251
251
|
|
|
252
252
|
describe('reaction', () => {
|
|
253
|
-
|
|
253
|
+
it('reaction add/remove lifecycle', async () => {
|
|
254
254
|
if (!teamsAvailable) return
|
|
255
255
|
|
|
256
256
|
const testId = generateTestId()
|
|
@@ -288,7 +288,7 @@ describe('Teams E2E Tests', () => {
|
|
|
288
288
|
expect(removeData?.success).toBe(true)
|
|
289
289
|
}, 15000)
|
|
290
290
|
|
|
291
|
-
|
|
291
|
+
it('reaction command does not register list subcommand', async () => {
|
|
292
292
|
if (!teamsAvailable) return
|
|
293
293
|
|
|
294
294
|
const result = await runCLI('teams', ['reaction', '--help'])
|
|
@@ -298,7 +298,7 @@ describe('Teams E2E Tests', () => {
|
|
|
298
298
|
})
|
|
299
299
|
|
|
300
300
|
describe('file', () => {
|
|
301
|
-
|
|
301
|
+
it('file list returns files array', async () => {
|
|
302
302
|
if (!teamsAvailable) return
|
|
303
303
|
|
|
304
304
|
const result = await runCLI('teams', ['file', 'list', TEAMS_TEST_TEAM_ID, TEAMS_TEST_CHANNEL_ID])
|
|
@@ -308,7 +308,7 @@ describe('Teams E2E Tests', () => {
|
|
|
308
308
|
expect(Array.isArray(data)).toBe(true)
|
|
309
309
|
})
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
it('file upload uploads file and file info returns details', async () => {
|
|
312
312
|
if (!teamsAvailable) return
|
|
313
313
|
|
|
314
314
|
const testId = generateTestId()
|
|
@@ -348,7 +348,7 @@ describe('Teams E2E Tests', () => {
|
|
|
348
348
|
})
|
|
349
349
|
|
|
350
350
|
describe('snapshot', () => {
|
|
351
|
-
|
|
351
|
+
it('snapshot returns full team data', async () => {
|
|
352
352
|
if (!teamsAvailable) return
|
|
353
353
|
|
|
354
354
|
const result = await runCLI('teams', ['snapshot', '--team-id', TEAMS_TEST_TEAM_ID, '--limit', '2'])
|
|
@@ -359,7 +359,7 @@ describe('Teams E2E Tests', () => {
|
|
|
359
359
|
expect(data?.members).toBeDefined()
|
|
360
360
|
})
|
|
361
361
|
|
|
362
|
-
|
|
362
|
+
it('snapshot --channels-only returns only channels', async () => {
|
|
363
363
|
if (!teamsAvailable) return
|
|
364
364
|
|
|
365
365
|
const result = await runCLI('teams', ['snapshot', '--team-id', TEAMS_TEST_TEAM_ID, '--channels-only'])
|
|
@@ -369,7 +369,7 @@ describe('Teams E2E Tests', () => {
|
|
|
369
369
|
expect(data?.channels).toBeDefined()
|
|
370
370
|
})
|
|
371
371
|
|
|
372
|
-
|
|
372
|
+
it('snapshot --users-only returns only users', async () => {
|
|
373
373
|
if (!teamsAvailable) return
|
|
374
374
|
|
|
375
375
|
const result = await runCLI('teams', ['snapshot', '--team-id', TEAMS_TEST_TEAM_ID, '--users-only'])
|
package/e2e/telegram.e2e.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { afterEach, beforeAll, describe, expect,
|
|
1
|
+
import { afterEach, beforeAll, describe, expect, it } from 'bun:test'
|
|
2
2
|
|
|
3
3
|
import { TELEGRAM_TEST_CHAT_ID, validateTelegramEnvironment } from './config'
|
|
4
4
|
import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
|
|
@@ -15,14 +15,14 @@ describe('Telegram E2E Tests', () => {
|
|
|
15
15
|
})
|
|
16
16
|
|
|
17
17
|
describe('auth', () => {
|
|
18
|
-
|
|
18
|
+
it('auth status returns exit code 0', async () => {
|
|
19
19
|
if (!telegramAvailable) return
|
|
20
20
|
|
|
21
21
|
const result = await runCLI('telegram', ['auth', 'status'])
|
|
22
22
|
expect(result.exitCode).toBe(0)
|
|
23
23
|
})
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
it('auth list returns accounts array', async () => {
|
|
26
26
|
if (!telegramAvailable) return
|
|
27
27
|
|
|
28
28
|
const result = await runCLI('telegram', ['auth', 'list'])
|
|
@@ -34,7 +34,7 @@ describe('Telegram E2E Tests', () => {
|
|
|
34
34
|
})
|
|
35
35
|
|
|
36
36
|
describe('chat', () => {
|
|
37
|
-
|
|
37
|
+
it('chat list returns chats', async () => {
|
|
38
38
|
if (!telegramAvailable) return
|
|
39
39
|
|
|
40
40
|
const result = await runCLI('telegram', ['chat', 'list', '--limit', '5'])
|
|
@@ -44,14 +44,14 @@ describe('Telegram E2E Tests', () => {
|
|
|
44
44
|
expect(data).toBeTruthy()
|
|
45
45
|
})
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
it('chat search returns results', async () => {
|
|
48
48
|
if (!telegramAvailable) return
|
|
49
49
|
|
|
50
50
|
const result = await runCLI('telegram', ['chat', 'search', 'test', '--limit', '5'])
|
|
51
51
|
expect(result.exitCode).toBe(0)
|
|
52
52
|
})
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
it('chat get returns chat with id', async () => {
|
|
55
55
|
if (!telegramAvailable) return
|
|
56
56
|
|
|
57
57
|
const result = await runCLI('telegram', ['chat', 'get', TELEGRAM_TEST_CHAT_ID])
|
|
@@ -63,7 +63,7 @@ describe('Telegram E2E Tests', () => {
|
|
|
63
63
|
})
|
|
64
64
|
|
|
65
65
|
describe('message', () => {
|
|
66
|
-
|
|
66
|
+
it('message send delivers message to chat', async () => {
|
|
67
67
|
if (!telegramAvailable) return
|
|
68
68
|
|
|
69
69
|
const testId = generateTestId()
|
|
@@ -71,7 +71,7 @@ describe('Telegram E2E Tests', () => {
|
|
|
71
71
|
expect(result.exitCode).toBe(0)
|
|
72
72
|
})
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
it('message list returns messages', async () => {
|
|
75
75
|
if (!telegramAvailable) return
|
|
76
76
|
|
|
77
77
|
const result = await runCLI('telegram', ['message', 'list', TELEGRAM_TEST_CHAT_ID, '--limit', '5'])
|