slack-ruby-client 0.5.4 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +17 -14
- data/CHANGELOG.md +7 -0
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +1 -0
- data/README.md +32 -18
- data/Rakefile +4 -1
- data/UPGRADING.md +41 -3
- data/bin/commands.rb +1 -1
- data/bin/commands/api.rb +1 -1
- data/bin/commands/auth.rb +1 -1
- data/bin/commands/channels.rb +3 -3
- data/bin/commands/chat.rb +1 -1
- data/bin/commands/dnd.rb +1 -1
- data/bin/commands/emoji.rb +1 -1
- data/bin/commands/files.rb +2 -1
- data/bin/commands/groups.rb +1 -1
- data/bin/commands/im.rb +1 -1
- data/bin/commands/mpim.rb +1 -1
- data/bin/commands/oauth.rb +1 -1
- data/bin/commands/pins.rb +1 -1
- data/bin/commands/reactions.rb +1 -1
- data/bin/commands/rtm.rb +1 -1
- data/bin/commands/search.rb +1 -1
- data/bin/commands/stars.rb +1 -1
- data/bin/commands/team.rb +1 -1
- data/bin/commands/usergroups.rb +1 -1
- data/bin/commands/users.rb +10 -1
- data/examples/hi_real_time/hi.rb +5 -5
- data/examples/hi_real_time_and_web/hi.rb +4 -4
- data/examples/hi_real_time_async/hi.rb +5 -5
- data/lib/slack-ruby-client.rb +10 -0
- data/lib/slack/messages/message.rb +9 -0
- data/lib/slack/real_time/api/schema/event.json +22 -0
- data/lib/slack/real_time/api/templates/event_handler.erb +18 -0
- data/lib/slack/real_time/api/templates/event_handlers.erb +5 -0
- data/lib/slack/real_time/client.rb +31 -9
- data/lib/slack/real_time/config.rb +3 -1
- data/lib/slack/real_time/event_handlers.rb +66 -0
- data/lib/slack/real_time/event_handlers/accounts_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/bot_added.rb +16 -0
- data/lib/slack/real_time/event_handlers/bot_changed.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_archive.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_created.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_deleted.rb +16 -0
- data/lib/slack/real_time/event_handlers/channel_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/channel_joined.rb +22 -0
- data/lib/slack/real_time/event_handlers/channel_left.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/channel_rename.rb +17 -0
- data/lib/slack/real_time/event_handlers/channel_unarchive.rb +17 -0
- data/lib/slack/real_time/event_handlers/commands_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/dnd_updated.rb +18 -0
- data/lib/slack/real_time/event_handlers/dnd_updated_user.rb +18 -0
- data/lib/slack/real_time/event_handlers/email_domain_changed.rb +16 -0
- data/lib/slack/real_time/event_handlers/emoji_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_change.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_deleted.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_comment_edited.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_created.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_deleted.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_private.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_public.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_shared.rb +18 -0
- data/lib/slack/real_time/event_handlers/file_unshared.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_archive.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_close.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_joined.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_left.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/group_open.rb +16 -0
- data/lib/slack/real_time/event_handlers/group_rename.rb +17 -0
- data/lib/slack/real_time/event_handlers/group_unarchive.rb +17 -0
- data/lib/slack/real_time/event_handlers/im_close.rb +16 -0
- data/lib/slack/real_time/event_handlers/im_created.rb +16 -0
- data/lib/slack/real_time/event_handlers/im_history_changed.rb +18 -0
- data/lib/slack/real_time/event_handlers/im_marked.rb +18 -0
- data/lib/slack/real_time/event_handlers/im_open.rb +16 -0
- data/lib/slack/real_time/event_handlers/manual_presence_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/pin_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/pin_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/pref_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/presence_change.rb +17 -0
- data/lib/slack/real_time/event_handlers/reaction_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/reaction_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/reconnect_url.rb +18 -0
- data/lib/slack/real_time/event_handlers/star_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/star_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_created.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_self_added.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_self_removed.rb +18 -0
- data/lib/slack/real_time/event_handlers/subteam_updated.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_domain_change.rb +17 -0
- data/lib/slack/real_time/event_handlers/team_join.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_migration_started.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_plan_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_pref_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/team_profile_change.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_profile_delete.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_profile_reorder.rb +18 -0
- data/lib/slack/real_time/event_handlers/team_rename.rb +16 -0
- data/lib/slack/real_time/event_handlers/user_change.rb +16 -0
- data/lib/slack/real_time/event_handlers/user_typing.rb +18 -0
- data/lib/slack/real_time/models.rb +7 -0
- data/lib/slack/real_time/models/base.rb +11 -0
- data/lib/slack/real_time/models/bot.rb +8 -0
- data/lib/slack/real_time/models/channel.rb +8 -0
- data/lib/slack/real_time/models/group.rb +8 -0
- data/lib/slack/real_time/models/im.rb +8 -0
- data/lib/slack/real_time/models/team.rb +8 -0
- data/lib/slack/real_time/models/user.rb +8 -0
- data/lib/slack/real_time/store.rb +47 -0
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +1 -1
- data/lib/slack/web/api/endpoints/api.rb +1 -1
- data/lib/slack/web/api/endpoints/auth.rb +1 -1
- data/lib/slack/web/api/endpoints/channels.rb +2 -4
- data/lib/slack/web/api/endpoints/chat.rb +1 -1
- data/lib/slack/web/api/endpoints/dnd.rb +1 -1
- data/lib/slack/web/api/endpoints/emoji.rb +1 -1
- data/lib/slack/web/api/endpoints/files.rb +4 -1
- data/lib/slack/web/api/endpoints/groups.rb +1 -1
- data/lib/slack/web/api/endpoints/im.rb +1 -1
- data/lib/slack/web/api/endpoints/mpim.rb +1 -1
- data/lib/slack/web/api/endpoints/oauth.rb +1 -1
- data/lib/slack/web/api/endpoints/pins.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +1 -1
- data/lib/slack/web/api/endpoints/rtm.rb +1 -1
- data/lib/slack/web/api/endpoints/search.rb +1 -1
- data/lib/slack/web/api/endpoints/stars.rb +1 -1
- data/lib/slack/web/api/endpoints/team.rb +1 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +1 -1
- data/lib/slack/web/api/endpoints/users.rb +1 -1
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +2 -2
- data/lib/slack/web/api/mixins/groups.id.rb +2 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -2
- data/lib/slack/web/api/mixins/users.search.json +19 -0
- data/lib/slack/web/api/mixins/users.search.rb +43 -0
- data/lib/slack/web/api/templates/command.erb +1 -1
- data/lib/slack/web/api/templates/commands.erb +1 -1
- data/lib/slack/web/api/templates/endpoints.erb +1 -1
- data/lib/slack/web/api/templates/method.erb +1 -1
- data/lib/slack/web/api/templates/method_spec.erb +20 -0
- data/lib/slack/web/faraday/connection.rb +1 -0
- data/lib/tasks/git.rake +7 -0
- data/lib/tasks/real_time.rake +45 -0
- data/lib/tasks/update.rake +9 -0
- data/lib/{slack/web/api/tasks/generate.rake → tasks/web.rake} +6 -6
- data/slack-ruby-client.gemspec +1 -0
- data/spec/fixtures/slack/web/rtm_start.yml +53 -22
- data/spec/integration/integration_spec.rb +5 -5
- data/spec/slack/real_time/client_spec.rb +72 -10
- data/spec/slack/real_time/event_handlers/bot_spec.rb +42 -0
- data/spec/slack/real_time/event_handlers/channel_spec.rb +116 -0
- data/spec/slack/real_time/event_handlers/group_spec.rb +90 -0
- data/spec/slack/real_time/event_handlers/im_spec.rb +47 -0
- data/spec/slack/real_time/event_handlers/team_spec.rb +58 -0
- data/spec/slack/real_time/event_handlers/user_spec.rb +61 -0
- data/spec/slack/real_time/rtm_start_spec.rb +13 -0
- data/spec/slack/real_time/store_spec.rb +11 -0
- data/spec/slack/slack_spec.rb +6 -6
- data/spec/slack/web/api/endpoints/api_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/{auth_spec.rb → custom_specs/auth_spec.rb} +0 -0
- data/spec/slack/web/api/endpoints/{channels_spec.rb → custom_specs/channels_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/{chat_spec.rb → custom_specs/chat_spec.rb} +0 -0
- data/spec/slack/web/api/endpoints/{groups_spec.rb → custom_specs/groups_spec.rb} +1 -1
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +23 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +12 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/im_spec.rb +30 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +30 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +22 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +17 -0
- data/spec/slack/web/api/endpoints/rtm_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +22 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +7 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +35 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +6 -6
- data/spec/slack/web/api/mixins/groups_spec.rb +6 -6
- data/spec/slack/web/api/mixins/users_spec.rb +12 -6
- data/spec/support/real_time/event.rb +11 -0
- metadata +159 -13
- data/spec/slack/web/api/endpoints/users_spec.rb +0 -17
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
|
4
|
+
include_context 'connected client'
|
5
|
+
|
6
|
+
context 'team' do
|
7
|
+
it 'sets team data on rtm.start' do
|
8
|
+
expect(client.team.name).to eq 'dblock'
|
9
|
+
expect(client.team.domain).to eq 'dblockdotorg'
|
10
|
+
expect(client.team.email_domain).to eq 'dblock.org'
|
11
|
+
expect(client.team.prefs.invites_only_admins).to be true
|
12
|
+
expect(client.team.plan).to eq ''
|
13
|
+
end
|
14
|
+
it 'team_domain_change' do
|
15
|
+
event = Slack::RealTime::Event.new(
|
16
|
+
'type' => 'team_domain_change',
|
17
|
+
'url' => 'https://my.slack.com',
|
18
|
+
'domain' => 'my'
|
19
|
+
)
|
20
|
+
client.send(:dispatch, event)
|
21
|
+
expect(client.team.domain).to eq 'my'
|
22
|
+
expect(client.team['url']).to eq 'https://my.slack.com'
|
23
|
+
end
|
24
|
+
it 'email_domain_changed' do
|
25
|
+
event = Slack::RealTime::Event.new(
|
26
|
+
'type' => 'email_domain_changed',
|
27
|
+
'email_domain' => 'example.com'
|
28
|
+
)
|
29
|
+
client.send(:dispatch, event)
|
30
|
+
expect(client.team.email_domain).to eq 'example.com'
|
31
|
+
end
|
32
|
+
it 'team_pref_change' do
|
33
|
+
event = Slack::RealTime::Event.new(
|
34
|
+
'type' => 'team_pref_change',
|
35
|
+
'name' => 'invites_only_admins',
|
36
|
+
'value' => false
|
37
|
+
)
|
38
|
+
client.send(:dispatch, event)
|
39
|
+
expect(client.team.prefs.invites_only_admins).to be false
|
40
|
+
end
|
41
|
+
it 'team_rename' do
|
42
|
+
event = Slack::RealTime::Event.new(
|
43
|
+
'type' => 'team_rename',
|
44
|
+
'name' => 'New Team Name Inc.'
|
45
|
+
)
|
46
|
+
client.send(:dispatch, event)
|
47
|
+
expect(client.team.name).to eq 'New Team Name Inc.'
|
48
|
+
end
|
49
|
+
it 'team_plan_change' do
|
50
|
+
event = Slack::RealTime::Event.new(
|
51
|
+
'type' => 'team_plan_change',
|
52
|
+
'plan' => 'std'
|
53
|
+
)
|
54
|
+
client.send(:dispatch, event)
|
55
|
+
expect(client.team.plan).to eq 'std'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
|
4
|
+
include_context 'connected client'
|
5
|
+
|
6
|
+
context 'user' do
|
7
|
+
it 'combines user and self data on rtm.start' do
|
8
|
+
expect(client.users['U07518DTL'].name).to eq 'rubybot'
|
9
|
+
expect(client.users['U07518DTL']['prefs']['push_sound']).to eq 'b2.mp3'
|
10
|
+
end
|
11
|
+
it 'user_change' do
|
12
|
+
expect(client.users['U07KECJ77'].name).to eq 'aws'
|
13
|
+
event = Slack::RealTime::Event.new(
|
14
|
+
'type' => 'user_change',
|
15
|
+
'user' => {
|
16
|
+
'id' => 'U07KECJ77', 'name' => 'renamed'
|
17
|
+
})
|
18
|
+
client.send(:dispatch, event)
|
19
|
+
expect(client.users['U07KECJ77'].name).to eq 'renamed'
|
20
|
+
end
|
21
|
+
it 'team_join' do
|
22
|
+
expect do
|
23
|
+
event = Slack::RealTime::Event.new(
|
24
|
+
'type' => 'team_join',
|
25
|
+
'user' => {
|
26
|
+
'id' => 'DEADBEEF', 'name' => 'added'
|
27
|
+
})
|
28
|
+
client.send(:dispatch, event)
|
29
|
+
end.to change(client.users, :count).by(1)
|
30
|
+
expect(client.users['DEADBEEF'].name).to eq 'added'
|
31
|
+
end
|
32
|
+
it 'pref_change' do
|
33
|
+
event = Slack::RealTime::Event.new(
|
34
|
+
'type' => 'pref_change',
|
35
|
+
'name' => 'push_sound',
|
36
|
+
'value' => 'updated.mp3'
|
37
|
+
)
|
38
|
+
client.send(:dispatch, event)
|
39
|
+
expect(client.self.prefs['push_sound']).to eq 'updated.mp3'
|
40
|
+
end
|
41
|
+
it 'presence_change' do
|
42
|
+
expect(client.users['U07KECJ77'].presence).to eq 'away'
|
43
|
+
event = Slack::RealTime::Event.new(
|
44
|
+
'type' => 'presence_change',
|
45
|
+
'user' => 'U07KECJ77',
|
46
|
+
'presence' => 'updated'
|
47
|
+
)
|
48
|
+
client.send(:dispatch, event)
|
49
|
+
expect(client.users['U07KECJ77'].presence).to eq 'updated'
|
50
|
+
end
|
51
|
+
it 'manual_presence_change' do
|
52
|
+
expect(client.self['presence']).to eq 'away'
|
53
|
+
event = Slack::RealTime::Event.new(
|
54
|
+
'type' => 'manual_presence_change',
|
55
|
+
'presence' => 'updated'
|
56
|
+
)
|
57
|
+
client.send(:dispatch, event)
|
58
|
+
expect(client.self.presence).to eq 'updated'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# require 'spec_helper'
|
2
|
+
|
3
|
+
#
|
4
|
+
# to re-record a rtm_start fixture run with
|
5
|
+
# SLACK_API_TOKEN=... CONCURRENCY=faye-websocket rspec spec/slack/real_time/rtm_start_spec.rb
|
6
|
+
# edit rtm_start.yml and remove the token, fix wss:// path (run specs, fix failures)
|
7
|
+
#
|
8
|
+
|
9
|
+
# RSpec.describe Slack::RealTime::Client, vcr: { cassette_name: 'web/rtm_start' } do
|
10
|
+
# it 'connects' do
|
11
|
+
# Slack::Web::Client.new.rtm_start(mpim_aware: true)
|
12
|
+
# end
|
13
|
+
# end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Slack::RealTime::Store do
|
4
|
+
it 'can be initialized with an empty hash' do
|
5
|
+
store = Slack::RealTime::Store.new(Hashie::Mash.new)
|
6
|
+
expect(store.self).to be nil
|
7
|
+
expect(store.groups.count).to eq 0
|
8
|
+
expect(store.team).to be nil
|
9
|
+
expect(store.teams.count).to eq 0
|
10
|
+
end
|
11
|
+
end
|
data/spec/slack/slack_spec.rb
CHANGED
@@ -34,7 +34,7 @@ describe Slack do
|
|
34
34
|
end
|
35
35
|
context 'good auth' do
|
36
36
|
it 'succeeds' do
|
37
|
-
json = JSON.parse
|
37
|
+
json = Slack::Messages::Message.new(JSON.parse(`"#{slack}" --vcr-cassette-name=web/auth_test_success --slack-api-token=token auth test 2>&1`))
|
38
38
|
expect(json).to eq(
|
39
39
|
'ok' => true,
|
40
40
|
'url' => 'https://rubybot.slack.com/',
|
@@ -43,16 +43,16 @@ describe Slack do
|
|
43
43
|
'team_id' => 'TDEADBEEF',
|
44
44
|
'user_id' => 'UBAADFOOD'
|
45
45
|
)
|
46
|
-
expect(json
|
46
|
+
expect(json.ok).to be true
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
50
50
|
describe '#users' do
|
51
51
|
it 'list' do
|
52
|
-
json = JSON.parse
|
53
|
-
expect(json
|
54
|
-
expect(json
|
55
|
-
expect(json
|
52
|
+
json = Slack::Messages::Message.new(JSON.parse(`"#{slack}" --vcr-cassette-name=web/users_list --slack-api-token=token users list --presence=true 2>&1`))
|
53
|
+
expect(json.ok).to be true
|
54
|
+
expect(json.members.size).to eq 9
|
55
|
+
expect(json.members.first['presence']).to eq 'away'
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
File without changes
|
@@ -5,7 +5,7 @@ RSpec.describe Slack::Web::Api::Endpoints::Channels do
|
|
5
5
|
context 'channels' do
|
6
6
|
it 'info', vcr: { cassette_name: 'web/channels_info' } do
|
7
7
|
json = client.channels_info(channel: '#general')
|
8
|
-
expect(json
|
8
|
+
expect(json.channel.name).to eq 'general'
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
File without changes
|
@@ -5,7 +5,7 @@ RSpec.describe Slack::Web::Api::Endpoints::Groups do
|
|
5
5
|
context 'groups' do
|
6
6
|
it 'info', vcr: { cassette_name: 'web/groups_info' } do
|
7
7
|
json = client.groups_info(channel: '#mpdm-dblock--rubybot--player1-1')
|
8
|
-
expect(json
|
8
|
+
expect(json.group.name).to eq 'mpdm-dblock--rubybot--player1-1'
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Slack::Web::Api::Endpoints::Users do
|
4
|
+
let(:client) { Slack::Web::Client.new }
|
5
|
+
context 'users' do
|
6
|
+
it 'list', vcr: { cassette_name: 'web/users_list' } do
|
7
|
+
json = client.users_list(presence: true)
|
8
|
+
expect(json.ok).to be true
|
9
|
+
expect(json.members.size).to eq 9
|
10
|
+
expect(json.members.first.presence).to eq 'away'
|
11
|
+
end
|
12
|
+
it 'info', vcr: { cassette_name: 'web/users_info' } do
|
13
|
+
json = client.users_info(user: '@aws')
|
14
|
+
expect(json.user.name).to eq 'aws'
|
15
|
+
end
|
16
|
+
it 'search', vcr: { cassette_name: 'web/users_info' } do
|
17
|
+
json = client.users_search(user: 'aws')
|
18
|
+
expect(json.ok).to be true
|
19
|
+
expect(json.members.size).to eq 1
|
20
|
+
expect(json.members.first.name).to eq 'aws'
|
21
|
+
end if defined?(Picky)
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Dnd do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'dnd_setSnooze' do
|
8
|
+
it 'requires num_minutes' do
|
9
|
+
expect { client.dnd_setSnooze }.to raise_error ArgumentError, /Required arguments :num_minutes missing/
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Files do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'files_comments' do
|
8
|
+
it 'requires file' do
|
9
|
+
expect { client.files_comments(id: 'Fc1234567890', comment: 'Everyone should take a moment to read this file, seriously.') }.to raise_error ArgumentError, /Required arguments :file missing/
|
10
|
+
end
|
11
|
+
it 'requires id' do
|
12
|
+
expect { client.files_comments(file: 'F1234567890', comment: 'Everyone should take a moment to read this file, seriously.') }.to raise_error ArgumentError, /Required arguments :id missing/
|
13
|
+
end
|
14
|
+
it 'requires comment' do
|
15
|
+
expect { client.files_comments(file: 'F1234567890', id: 'Fc1234567890') }.to raise_error ArgumentError, /Required arguments :comment missing/
|
16
|
+
end
|
17
|
+
end
|
18
|
+
context 'files_delete' do
|
19
|
+
it 'requires file' do
|
20
|
+
expect { client.files_delete }.to raise_error ArgumentError, /Required arguments :file missing/
|
21
|
+
end
|
22
|
+
end
|
23
|
+
context 'files_info' do
|
24
|
+
it 'requires file' do
|
25
|
+
expect { client.files_info }.to raise_error ArgumentError, /Required arguments :file missing/
|
26
|
+
end
|
27
|
+
end
|
28
|
+
context 'files_upload' do
|
29
|
+
it 'requires file' do
|
30
|
+
expect { client.files_upload(filename: 'foo.txt') }.to raise_error ArgumentError, /Required arguments :file missing/
|
31
|
+
end
|
32
|
+
it 'requires filename' do
|
33
|
+
expect { client.files_upload(file: '...') }.to raise_error ArgumentError, /Required arguments :filename missing/
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Im do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'im_close' do
|
8
|
+
it 'requires channel' do
|
9
|
+
expect { client.im_close }.to raise_error ArgumentError, /Required arguments :channel missing/
|
10
|
+
end
|
11
|
+
end
|
12
|
+
context 'im_history' do
|
13
|
+
it 'requires channel' do
|
14
|
+
expect { client.im_history }.to raise_error ArgumentError, /Required arguments :channel missing/
|
15
|
+
end
|
16
|
+
end
|
17
|
+
context 'im_mark' do
|
18
|
+
it 'requires channel' do
|
19
|
+
expect { client.im_mark(ts: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
|
20
|
+
end
|
21
|
+
it 'requires ts' do
|
22
|
+
expect { client.im_mark(channel: 'D1234567890') }.to raise_error ArgumentError, /Required arguments :ts missing/
|
23
|
+
end
|
24
|
+
end
|
25
|
+
context 'im_open' do
|
26
|
+
it 'requires user' do
|
27
|
+
expect { client.im_open }.to raise_error ArgumentError, /Required arguments :user missing/
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Mpim do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'mpim_close' do
|
8
|
+
it 'requires channel' do
|
9
|
+
expect { client.mpim_close }.to raise_error ArgumentError, /Required arguments :channel missing/
|
10
|
+
end
|
11
|
+
end
|
12
|
+
context 'mpim_history' do
|
13
|
+
it 'requires channel' do
|
14
|
+
expect { client.mpim_history }.to raise_error ArgumentError, /Required arguments :channel missing/
|
15
|
+
end
|
16
|
+
end
|
17
|
+
context 'mpim_mark' do
|
18
|
+
it 'requires channel' do
|
19
|
+
expect { client.mpim_mark(ts: '1234567890.123456') }.to raise_error ArgumentError, /Required arguments :channel missing/
|
20
|
+
end
|
21
|
+
it 'requires ts' do
|
22
|
+
expect { client.mpim_mark(channel: 'G1234567890') }.to raise_error ArgumentError, /Required arguments :ts missing/
|
23
|
+
end
|
24
|
+
end
|
25
|
+
context 'mpim_open' do
|
26
|
+
it 'requires users' do
|
27
|
+
expect { client.mpim_open }.to raise_error ArgumentError, /Required arguments :users missing/
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Oauth do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'oauth_access' do
|
8
|
+
it 'requires client_id' do
|
9
|
+
expect { client.oauth_access(client_secret: '33fea0113f5b1', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_id missing/
|
10
|
+
end
|
11
|
+
it 'requires client_secret' do
|
12
|
+
expect { client.oauth_access(client_id: '4b39e9-752c4', code: 'ccdaa72ad') }.to raise_error ArgumentError, /Required arguments :client_secret missing/
|
13
|
+
end
|
14
|
+
it 'requires code' do
|
15
|
+
expect { client.oauth_access(client_id: '4b39e9-752c4', client_secret: '33fea0113f5b1') }.to raise_error ArgumentError, /Required arguments :code missing/
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Pins do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'pins_add' do
|
8
|
+
it 'requires channel' do
|
9
|
+
expect { client.pins_add }.to raise_error ArgumentError, /Required arguments :channel missing/
|
10
|
+
end
|
11
|
+
end
|
12
|
+
context 'pins_list' do
|
13
|
+
it 'requires channel' do
|
14
|
+
expect { client.pins_list }.to raise_error ArgumentError, /Required arguments :channel missing/
|
15
|
+
end
|
16
|
+
end
|
17
|
+
context 'pins_remove' do
|
18
|
+
it 'requires channel' do
|
19
|
+
expect { client.pins_remove }.to raise_error ArgumentError, /Required arguments :channel missing/
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Reactions do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'reactions_add' do
|
8
|
+
it 'requires name' do
|
9
|
+
expect { client.reactions_add }.to raise_error ArgumentError, /Required arguments :name missing/
|
10
|
+
end
|
11
|
+
end
|
12
|
+
context 'reactions_remove' do
|
13
|
+
it 'requires name' do
|
14
|
+
expect { client.reactions_remove }.to raise_error ArgumentError, /Required arguments :name missing/
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This file was auto-generated by lib/tasks/web.rake
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Slack::Web::Api::Endpoints::Search do
|
6
|
+
let(:client) { Slack::Web::Client.new }
|
7
|
+
context 'search_all' do
|
8
|
+
it 'requires query' do
|
9
|
+
expect { client.search_all }.to raise_error ArgumentError, /Required arguments :query missing/
|
10
|
+
end
|
11
|
+
end
|
12
|
+
context 'search_files' do
|
13
|
+
it 'requires query' do
|
14
|
+
expect { client.search_files }.to raise_error ArgumentError, /Required arguments :query missing/
|
15
|
+
end
|
16
|
+
end
|
17
|
+
context 'search_messages' do
|
18
|
+
it 'requires query' do
|
19
|
+
expect { client.search_messages }.to raise_error ArgumentError, /Required arguments :query missing/
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|