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.
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