slack-ruby-client 0.5.4 → 0.6.0

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.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +17 -14
  3. data/CHANGELOG.md +7 -0
  4. data/CONTRIBUTING.md +2 -2
  5. data/Gemfile +1 -0
  6. data/README.md +32 -18
  7. data/Rakefile +4 -1
  8. data/UPGRADING.md +41 -3
  9. data/bin/commands.rb +1 -1
  10. data/bin/commands/api.rb +1 -1
  11. data/bin/commands/auth.rb +1 -1
  12. data/bin/commands/channels.rb +3 -3
  13. data/bin/commands/chat.rb +1 -1
  14. data/bin/commands/dnd.rb +1 -1
  15. data/bin/commands/emoji.rb +1 -1
  16. data/bin/commands/files.rb +2 -1
  17. data/bin/commands/groups.rb +1 -1
  18. data/bin/commands/im.rb +1 -1
  19. data/bin/commands/mpim.rb +1 -1
  20. data/bin/commands/oauth.rb +1 -1
  21. data/bin/commands/pins.rb +1 -1
  22. data/bin/commands/reactions.rb +1 -1
  23. data/bin/commands/rtm.rb +1 -1
  24. data/bin/commands/search.rb +1 -1
  25. data/bin/commands/stars.rb +1 -1
  26. data/bin/commands/team.rb +1 -1
  27. data/bin/commands/usergroups.rb +1 -1
  28. data/bin/commands/users.rb +10 -1
  29. data/examples/hi_real_time/hi.rb +5 -5
  30. data/examples/hi_real_time_and_web/hi.rb +4 -4
  31. data/examples/hi_real_time_async/hi.rb +5 -5
  32. data/lib/slack-ruby-client.rb +10 -0
  33. data/lib/slack/messages/message.rb +9 -0
  34. data/lib/slack/real_time/api/schema/event.json +22 -0
  35. data/lib/slack/real_time/api/templates/event_handler.erb +18 -0
  36. data/lib/slack/real_time/api/templates/event_handlers.erb +5 -0
  37. data/lib/slack/real_time/client.rb +31 -9
  38. data/lib/slack/real_time/config.rb +3 -1
  39. data/lib/slack/real_time/event_handlers.rb +66 -0
  40. data/lib/slack/real_time/event_handlers/accounts_changed.rb +18 -0
  41. data/lib/slack/real_time/event_handlers/bot_added.rb +16 -0
  42. data/lib/slack/real_time/event_handlers/bot_changed.rb +17 -0
  43. data/lib/slack/real_time/event_handlers/channel_archive.rb +17 -0
  44. data/lib/slack/real_time/event_handlers/channel_created.rb +17 -0
  45. data/lib/slack/real_time/event_handlers/channel_deleted.rb +16 -0
  46. data/lib/slack/real_time/event_handlers/channel_history_changed.rb +18 -0
  47. data/lib/slack/real_time/event_handlers/channel_joined.rb +22 -0
  48. data/lib/slack/real_time/event_handlers/channel_left.rb +17 -0
  49. data/lib/slack/real_time/event_handlers/channel_marked.rb +18 -0
  50. data/lib/slack/real_time/event_handlers/channel_rename.rb +17 -0
  51. data/lib/slack/real_time/event_handlers/channel_unarchive.rb +17 -0
  52. data/lib/slack/real_time/event_handlers/commands_changed.rb +18 -0
  53. data/lib/slack/real_time/event_handlers/dnd_updated.rb +18 -0
  54. data/lib/slack/real_time/event_handlers/dnd_updated_user.rb +18 -0
  55. data/lib/slack/real_time/event_handlers/email_domain_changed.rb +16 -0
  56. data/lib/slack/real_time/event_handlers/emoji_changed.rb +18 -0
  57. data/lib/slack/real_time/event_handlers/file_change.rb +18 -0
  58. data/lib/slack/real_time/event_handlers/file_comment_added.rb +18 -0
  59. data/lib/slack/real_time/event_handlers/file_comment_deleted.rb +18 -0
  60. data/lib/slack/real_time/event_handlers/file_comment_edited.rb +18 -0
  61. data/lib/slack/real_time/event_handlers/file_created.rb +18 -0
  62. data/lib/slack/real_time/event_handlers/file_deleted.rb +18 -0
  63. data/lib/slack/real_time/event_handlers/file_private.rb +18 -0
  64. data/lib/slack/real_time/event_handlers/file_public.rb +18 -0
  65. data/lib/slack/real_time/event_handlers/file_shared.rb +18 -0
  66. data/lib/slack/real_time/event_handlers/file_unshared.rb +18 -0
  67. data/lib/slack/real_time/event_handlers/group_archive.rb +17 -0
  68. data/lib/slack/real_time/event_handlers/group_close.rb +16 -0
  69. data/lib/slack/real_time/event_handlers/group_history_changed.rb +18 -0
  70. data/lib/slack/real_time/event_handlers/group_joined.rb +16 -0
  71. data/lib/slack/real_time/event_handlers/group_left.rb +17 -0
  72. data/lib/slack/real_time/event_handlers/group_marked.rb +18 -0
  73. data/lib/slack/real_time/event_handlers/group_open.rb +16 -0
  74. data/lib/slack/real_time/event_handlers/group_rename.rb +17 -0
  75. data/lib/slack/real_time/event_handlers/group_unarchive.rb +17 -0
  76. data/lib/slack/real_time/event_handlers/im_close.rb +16 -0
  77. data/lib/slack/real_time/event_handlers/im_created.rb +16 -0
  78. data/lib/slack/real_time/event_handlers/im_history_changed.rb +18 -0
  79. data/lib/slack/real_time/event_handlers/im_marked.rb +18 -0
  80. data/lib/slack/real_time/event_handlers/im_open.rb +16 -0
  81. data/lib/slack/real_time/event_handlers/manual_presence_change.rb +16 -0
  82. data/lib/slack/real_time/event_handlers/pin_added.rb +18 -0
  83. data/lib/slack/real_time/event_handlers/pin_removed.rb +18 -0
  84. data/lib/slack/real_time/event_handlers/pref_change.rb +16 -0
  85. data/lib/slack/real_time/event_handlers/presence_change.rb +17 -0
  86. data/lib/slack/real_time/event_handlers/reaction_added.rb +18 -0
  87. data/lib/slack/real_time/event_handlers/reaction_removed.rb +18 -0
  88. data/lib/slack/real_time/event_handlers/reconnect_url.rb +18 -0
  89. data/lib/slack/real_time/event_handlers/star_added.rb +18 -0
  90. data/lib/slack/real_time/event_handlers/star_removed.rb +18 -0
  91. data/lib/slack/real_time/event_handlers/subteam_created.rb +18 -0
  92. data/lib/slack/real_time/event_handlers/subteam_self_added.rb +18 -0
  93. data/lib/slack/real_time/event_handlers/subteam_self_removed.rb +18 -0
  94. data/lib/slack/real_time/event_handlers/subteam_updated.rb +18 -0
  95. data/lib/slack/real_time/event_handlers/team_domain_change.rb +17 -0
  96. data/lib/slack/real_time/event_handlers/team_join.rb +16 -0
  97. data/lib/slack/real_time/event_handlers/team_migration_started.rb +18 -0
  98. data/lib/slack/real_time/event_handlers/team_plan_change.rb +16 -0
  99. data/lib/slack/real_time/event_handlers/team_pref_change.rb +16 -0
  100. data/lib/slack/real_time/event_handlers/team_profile_change.rb +18 -0
  101. data/lib/slack/real_time/event_handlers/team_profile_delete.rb +18 -0
  102. data/lib/slack/real_time/event_handlers/team_profile_reorder.rb +18 -0
  103. data/lib/slack/real_time/event_handlers/team_rename.rb +16 -0
  104. data/lib/slack/real_time/event_handlers/user_change.rb +16 -0
  105. data/lib/slack/real_time/event_handlers/user_typing.rb +18 -0
  106. data/lib/slack/real_time/models.rb +7 -0
  107. data/lib/slack/real_time/models/base.rb +11 -0
  108. data/lib/slack/real_time/models/bot.rb +8 -0
  109. data/lib/slack/real_time/models/channel.rb +8 -0
  110. data/lib/slack/real_time/models/group.rb +8 -0
  111. data/lib/slack/real_time/models/im.rb +8 -0
  112. data/lib/slack/real_time/models/team.rb +8 -0
  113. data/lib/slack/real_time/models/user.rb +8 -0
  114. data/lib/slack/real_time/store.rb +47 -0
  115. data/lib/slack/version.rb +1 -1
  116. data/lib/slack/web/api/endpoints.rb +1 -1
  117. data/lib/slack/web/api/endpoints/api.rb +1 -1
  118. data/lib/slack/web/api/endpoints/auth.rb +1 -1
  119. data/lib/slack/web/api/endpoints/channels.rb +2 -4
  120. data/lib/slack/web/api/endpoints/chat.rb +1 -1
  121. data/lib/slack/web/api/endpoints/dnd.rb +1 -1
  122. data/lib/slack/web/api/endpoints/emoji.rb +1 -1
  123. data/lib/slack/web/api/endpoints/files.rb +4 -1
  124. data/lib/slack/web/api/endpoints/groups.rb +1 -1
  125. data/lib/slack/web/api/endpoints/im.rb +1 -1
  126. data/lib/slack/web/api/endpoints/mpim.rb +1 -1
  127. data/lib/slack/web/api/endpoints/oauth.rb +1 -1
  128. data/lib/slack/web/api/endpoints/pins.rb +1 -1
  129. data/lib/slack/web/api/endpoints/reactions.rb +1 -1
  130. data/lib/slack/web/api/endpoints/rtm.rb +1 -1
  131. data/lib/slack/web/api/endpoints/search.rb +1 -1
  132. data/lib/slack/web/api/endpoints/stars.rb +1 -1
  133. data/lib/slack/web/api/endpoints/team.rb +1 -1
  134. data/lib/slack/web/api/endpoints/usergroups.rb +1 -1
  135. data/lib/slack/web/api/endpoints/users.rb +1 -1
  136. data/lib/slack/web/api/mixins.rb +1 -0
  137. data/lib/slack/web/api/mixins/channels.id.rb +2 -2
  138. data/lib/slack/web/api/mixins/groups.id.rb +2 -2
  139. data/lib/slack/web/api/mixins/users.id.rb +2 -2
  140. data/lib/slack/web/api/mixins/users.search.json +19 -0
  141. data/lib/slack/web/api/mixins/users.search.rb +43 -0
  142. data/lib/slack/web/api/templates/command.erb +1 -1
  143. data/lib/slack/web/api/templates/commands.erb +1 -1
  144. data/lib/slack/web/api/templates/endpoints.erb +1 -1
  145. data/lib/slack/web/api/templates/method.erb +1 -1
  146. data/lib/slack/web/api/templates/method_spec.erb +20 -0
  147. data/lib/slack/web/faraday/connection.rb +1 -0
  148. data/lib/tasks/git.rake +7 -0
  149. data/lib/tasks/real_time.rake +45 -0
  150. data/lib/tasks/update.rake +9 -0
  151. data/lib/{slack/web/api/tasks/generate.rake → tasks/web.rake} +6 -6
  152. data/slack-ruby-client.gemspec +1 -0
  153. data/spec/fixtures/slack/web/rtm_start.yml +53 -22
  154. data/spec/integration/integration_spec.rb +5 -5
  155. data/spec/slack/real_time/client_spec.rb +72 -10
  156. data/spec/slack/real_time/event_handlers/bot_spec.rb +42 -0
  157. data/spec/slack/real_time/event_handlers/channel_spec.rb +116 -0
  158. data/spec/slack/real_time/event_handlers/group_spec.rb +90 -0
  159. data/spec/slack/real_time/event_handlers/im_spec.rb +47 -0
  160. data/spec/slack/real_time/event_handlers/team_spec.rb +58 -0
  161. data/spec/slack/real_time/event_handlers/user_spec.rb +61 -0
  162. data/spec/slack/real_time/rtm_start_spec.rb +13 -0
  163. data/spec/slack/real_time/store_spec.rb +11 -0
  164. data/spec/slack/slack_spec.rb +6 -6
  165. data/spec/slack/web/api/endpoints/api_spec.rb +7 -0
  166. data/spec/slack/web/api/endpoints/{auth_spec.rb → custom_specs/auth_spec.rb} +0 -0
  167. data/spec/slack/web/api/endpoints/{channels_spec.rb → custom_specs/channels_spec.rb} +1 -1
  168. data/spec/slack/web/api/endpoints/{chat_spec.rb → custom_specs/chat_spec.rb} +0 -0
  169. data/spec/slack/web/api/endpoints/{groups_spec.rb → custom_specs/groups_spec.rb} +1 -1
  170. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +23 -0
  171. data/spec/slack/web/api/endpoints/dnd_spec.rb +12 -0
  172. data/spec/slack/web/api/endpoints/emoji_spec.rb +7 -0
  173. data/spec/slack/web/api/endpoints/files_spec.rb +36 -0
  174. data/spec/slack/web/api/endpoints/im_spec.rb +30 -0
  175. data/spec/slack/web/api/endpoints/mpim_spec.rb +30 -0
  176. data/spec/slack/web/api/endpoints/oauth_spec.rb +18 -0
  177. data/spec/slack/web/api/endpoints/pins_spec.rb +22 -0
  178. data/spec/slack/web/api/endpoints/reactions_spec.rb +17 -0
  179. data/spec/slack/web/api/endpoints/rtm_spec.rb +7 -0
  180. data/spec/slack/web/api/endpoints/search_spec.rb +22 -0
  181. data/spec/slack/web/api/endpoints/stars_spec.rb +7 -0
  182. data/spec/slack/web/api/endpoints/team_spec.rb +7 -0
  183. data/spec/slack/web/api/endpoints/usergroups_spec.rb +35 -0
  184. data/spec/slack/web/api/mixins/channels_spec.rb +6 -6
  185. data/spec/slack/web/api/mixins/groups_spec.rb +6 -6
  186. data/spec/slack/web/api/mixins/users_spec.rb +12 -6
  187. data/spec/support/real_time/event.rb +11 -0
  188. metadata +159 -13
  189. 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
@@ -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 `"#{slack}" --vcr-cassette-name=web/auth_test_success --slack-api-token=token auth test 2>&1`
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['ok']).to be true
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 `"#{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'
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
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by lib/tasks/web.rake
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Slack::Web::Api::Endpoints::Api do
6
+ let(:client) { Slack::Web::Client.new }
7
+ end
@@ -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['channel']['name']).to eq 'general'
8
+ expect(json.channel.name).to eq 'general'
9
9
  end
10
10
  end
11
11
  end
@@ -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['group']['name']).to eq 'mpdm-dblock--rubybot--player1-1'
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,7 @@
1
+ # This file was auto-generated by lib/tasks/web.rake
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Slack::Web::Api::Endpoints::Emoji do
6
+ let(:client) { Slack::Web::Client.new }
7
+ 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,7 @@
1
+ # This file was auto-generated by lib/tasks/web.rake
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Slack::Web::Api::Endpoints::Rtm do
6
+ let(:client) { Slack::Web::Client.new }
7
+ 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