agent-messenger 2.10.1 → 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 +9 -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 +109 -49
- package/src/platforms/teams/token-extractor.ts +7 -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/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'])
|
package/e2e/webex.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 { WEBEX_TEST_SPACE_ID, WEBEX_TEST_DM_EMAIL, validateWebexEnvironment } from './config'
|
|
4
4
|
import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
|
|
@@ -31,7 +31,7 @@ describe('Webex E2E Tests', () => {
|
|
|
31
31
|
})
|
|
32
32
|
|
|
33
33
|
describe('auth', () => {
|
|
34
|
-
|
|
34
|
+
it('auth status returns authenticated', async () => {
|
|
35
35
|
if (!webexAvailable) return
|
|
36
36
|
|
|
37
37
|
const result = await runCLI('webex', ['auth', 'status'])
|
|
@@ -43,7 +43,7 @@ describe('Webex E2E Tests', () => {
|
|
|
43
43
|
})
|
|
44
44
|
|
|
45
45
|
describe('message', () => {
|
|
46
|
-
|
|
46
|
+
it('message send creates a message', async () => {
|
|
47
47
|
if (!webexAvailable) return
|
|
48
48
|
|
|
49
49
|
const testId = generateTestId()
|
|
@@ -56,7 +56,7 @@ describe('Webex E2E Tests', () => {
|
|
|
56
56
|
if (data?.id) testMessages.push(data.id)
|
|
57
57
|
})
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
it('message list returns messages array', async () => {
|
|
60
60
|
if (!webexAvailable) return
|
|
61
61
|
|
|
62
62
|
const result = await runCLI('webex', ['message', 'list', WEBEX_TEST_SPACE_ID, '--limit', '5'])
|
|
@@ -66,7 +66,7 @@ describe('Webex E2E Tests', () => {
|
|
|
66
66
|
expect(Array.isArray(data)).toBe(true)
|
|
67
67
|
})
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
it('message get retrieves specific message', async () => {
|
|
70
70
|
if (!webexAvailable) return
|
|
71
71
|
|
|
72
72
|
const testId = generateTestId()
|
|
@@ -86,7 +86,7 @@ describe('Webex E2E Tests', () => {
|
|
|
86
86
|
expect(data?.text).toContain(testId)
|
|
87
87
|
}, 30000)
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
it('message delete removes message', async () => {
|
|
90
90
|
if (!webexAvailable) return
|
|
91
91
|
|
|
92
92
|
const testId = generateTestId()
|
|
@@ -102,7 +102,7 @@ describe('Webex E2E Tests', () => {
|
|
|
102
102
|
expect(result.exitCode).toBe(0)
|
|
103
103
|
}, 30000)
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
it('message edit updates message content', async () => {
|
|
106
106
|
if (!webexAvailable) return
|
|
107
107
|
|
|
108
108
|
const testId = generateTestId()
|
|
@@ -139,7 +139,7 @@ describe('Webex E2E Tests', () => {
|
|
|
139
139
|
return runCLI('webex', args)
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
it('message edit survives second edit and markdown edit (regression for silent failure)', async () => {
|
|
143
143
|
if (!webexAvailable) return
|
|
144
144
|
|
|
145
145
|
const testId = generateTestId()
|
|
@@ -178,7 +178,7 @@ describe('Webex E2E Tests', () => {
|
|
|
178
178
|
})
|
|
179
179
|
|
|
180
180
|
describe('space', () => {
|
|
181
|
-
|
|
181
|
+
it('space list returns spaces array', async () => {
|
|
182
182
|
if (!webexAvailable) return
|
|
183
183
|
|
|
184
184
|
const result = await runCLI('webex', ['space', 'list', '--limit', '5'])
|
|
@@ -188,7 +188,7 @@ describe('Webex E2E Tests', () => {
|
|
|
188
188
|
expect(Array.isArray(data)).toBe(true)
|
|
189
189
|
})
|
|
190
190
|
|
|
191
|
-
|
|
191
|
+
it('space info returns space details', async () => {
|
|
192
192
|
if (!webexAvailable) return
|
|
193
193
|
|
|
194
194
|
const result = await runCLI('webex', ['space', 'info', WEBEX_TEST_SPACE_ID])
|
|
@@ -200,7 +200,7 @@ describe('Webex E2E Tests', () => {
|
|
|
200
200
|
})
|
|
201
201
|
|
|
202
202
|
describe('member', () => {
|
|
203
|
-
|
|
203
|
+
it('member list returns members array', async () => {
|
|
204
204
|
if (!webexAvailable) return
|
|
205
205
|
|
|
206
206
|
const result = await runCLI('webex', ['member', 'list', WEBEX_TEST_SPACE_ID, '--limit', '5'])
|
|
@@ -212,7 +212,7 @@ describe('Webex E2E Tests', () => {
|
|
|
212
212
|
})
|
|
213
213
|
|
|
214
214
|
describe('snapshot', () => {
|
|
215
|
-
|
|
215
|
+
it('snapshot returns spaces and members', async () => {
|
|
216
216
|
if (!webexAvailable) return
|
|
217
217
|
|
|
218
218
|
const result = await runCLI('webex', ['snapshot', '--limit', '2'])
|
|
@@ -224,7 +224,7 @@ describe('Webex E2E Tests', () => {
|
|
|
224
224
|
expect(data?.recent_messages).toBeDefined()
|
|
225
225
|
}, 30000)
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
it('snapshot --spaces-only returns only spaces', async () => {
|
|
228
228
|
if (!webexAvailable) return
|
|
229
229
|
|
|
230
230
|
const result = await runCLI('webex', ['snapshot', '--spaces-only'])
|
|
@@ -234,7 +234,7 @@ describe('Webex E2E Tests', () => {
|
|
|
234
234
|
expect(data?.spaces).toBeDefined()
|
|
235
235
|
})
|
|
236
236
|
|
|
237
|
-
|
|
237
|
+
it('snapshot --members-only returns only members', async () => {
|
|
238
238
|
if (!webexAvailable) return
|
|
239
239
|
|
|
240
240
|
const result = await runCLI('webex', ['snapshot', '--members-only'])
|
package/e2e/whatsapp.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 { WHATSAPP_TEST_CHAT_ID, validateWhatsAppEnvironment } from './config'
|
|
4
4
|
import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
|
|
@@ -15,14 +15,14 @@ describe('WhatsApp E2E Tests', () => {
|
|
|
15
15
|
})
|
|
16
16
|
|
|
17
17
|
describe('auth', () => {
|
|
18
|
-
|
|
18
|
+
it('auth status returns exit code 0', async () => {
|
|
19
19
|
if (!whatsappAvailable) return
|
|
20
20
|
|
|
21
21
|
const result = await runCLI('whatsapp', ['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 (!whatsappAvailable) return
|
|
27
27
|
|
|
28
28
|
const result = await runCLI('whatsapp', ['auth', 'list'])
|
|
@@ -34,7 +34,7 @@ describe('WhatsApp E2E Tests', () => {
|
|
|
34
34
|
})
|
|
35
35
|
|
|
36
36
|
describe('chat', () => {
|
|
37
|
-
|
|
37
|
+
it('chat list returns chats', async () => {
|
|
38
38
|
if (!whatsappAvailable) return
|
|
39
39
|
|
|
40
40
|
const result = await runCLI('whatsapp', ['chat', 'list', '--limit', '5'])
|
|
@@ -44,7 +44,7 @@ describe('WhatsApp E2E Tests', () => {
|
|
|
44
44
|
expect(data).toBeTruthy()
|
|
45
45
|
})
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
it('chat search returns results', async () => {
|
|
48
48
|
if (!whatsappAvailable) return
|
|
49
49
|
|
|
50
50
|
const result = await runCLI('whatsapp', ['chat', 'search', 'test', '--limit', '5'])
|
|
@@ -53,7 +53,7 @@ describe('WhatsApp E2E Tests', () => {
|
|
|
53
53
|
})
|
|
54
54
|
|
|
55
55
|
describe('message', () => {
|
|
56
|
-
|
|
56
|
+
it('message send delivers message to chat', async () => {
|
|
57
57
|
if (!whatsappAvailable) return
|
|
58
58
|
|
|
59
59
|
const testId = generateTestId()
|
|
@@ -61,7 +61,7 @@ describe('WhatsApp E2E Tests', () => {
|
|
|
61
61
|
expect(result.exitCode).toBe(0)
|
|
62
62
|
})
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
it('message list returns messages', async () => {
|
|
65
65
|
if (!whatsappAvailable) return
|
|
66
66
|
|
|
67
67
|
const result = await runCLI('whatsapp', ['message', 'list', WHATSAPP_TEST_CHAT_ID, '--limit', '5'])
|
|
@@ -71,7 +71,7 @@ describe('WhatsApp E2E Tests', () => {
|
|
|
71
71
|
expect(data).toBeTruthy()
|
|
72
72
|
})
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
it('message react adds reaction to message', async () => {
|
|
75
75
|
if (!whatsappAvailable) return
|
|
76
76
|
|
|
77
77
|
const testId = generateTestId()
|
|
@@ -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 { WHATSAPPBOT_TEST_PHONE_NUMBER, validateWhatsAppBotEnvironment } from './config'
|
|
4
4
|
import { generateTestId, parseJSON, runCLI, waitForRateLimit } from './helpers'
|
|
@@ -15,7 +15,7 @@ describe('WhatsApp Bot E2E Tests', () => {
|
|
|
15
15
|
})
|
|
16
16
|
|
|
17
17
|
describe('auth', () => {
|
|
18
|
-
|
|
18
|
+
it('auth status returns valid credentials', async () => {
|
|
19
19
|
if (!whatsappbotAvailable) return
|
|
20
20
|
|
|
21
21
|
const result = await runCLI('whatsappbot', ['auth', 'status'])
|
|
@@ -25,7 +25,7 @@ describe('WhatsApp Bot E2E Tests', () => {
|
|
|
25
25
|
expect(data?.valid).toBe(true)
|
|
26
26
|
})
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
it('auth list returns accounts array', async () => {
|
|
29
29
|
if (!whatsappbotAvailable) return
|
|
30
30
|
|
|
31
31
|
const result = await runCLI('whatsappbot', ['auth', 'list'])
|
|
@@ -37,7 +37,7 @@ describe('WhatsApp Bot E2E Tests', () => {
|
|
|
37
37
|
})
|
|
38
38
|
|
|
39
39
|
describe('message', () => {
|
|
40
|
-
|
|
40
|
+
it('message send delivers to test phone number', async () => {
|
|
41
41
|
if (!whatsappbotAvailable) return
|
|
42
42
|
|
|
43
43
|
const testId = generateTestId()
|
|
@@ -47,7 +47,7 @@ describe('WhatsApp Bot E2E Tests', () => {
|
|
|
47
47
|
})
|
|
48
48
|
|
|
49
49
|
describe('template', () => {
|
|
50
|
-
|
|
50
|
+
it('template list returns templates', async () => {
|
|
51
51
|
if (!whatsappbotAvailable) return
|
|
52
52
|
|
|
53
53
|
const result = await runCLI('whatsappbot', ['template', 'list', '--limit', '5'])
|
|
@@ -57,7 +57,7 @@ describe('WhatsApp Bot E2E Tests', () => {
|
|
|
57
57
|
expect(data).toBeDefined()
|
|
58
58
|
})
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
it('template get returns template details', async () => {
|
|
61
61
|
if (!whatsappbotAvailable) return
|
|
62
62
|
|
|
63
63
|
const listResult = await runCLI('whatsappbot', ['template', 'list', '--limit', '1'])
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-channeltalk
|
|
3
3
|
description: Interact with Channel Talk using extracted desktop app or browser credentials - read chats, send messages, search messages, manage groups
|
|
4
|
-
version: 2.10.
|
|
4
|
+
version: 2.10.2
|
|
5
5
|
allowed-tools: Bash(agent-channeltalk:*)
|
|
6
6
|
metadata:
|
|
7
7
|
openclaw:
|