slack-ruby-client 0.14.4 → 0.16.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.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +23 -7
- data/.rubocop_todo.yml +104 -47
- data/.travis.yml +1 -5
- data/CHANGELOG.md +41 -2
- data/CONTRIBUTING.md +17 -6
- data/Dangerfile +2 -1
- data/Gemfile +2 -2
- data/README.md +94 -53
- data/Rakefile +1 -0
- data/UPGRADING.md +20 -2
- data/bin/commands.rb +30 -0
- data/bin/commands/admin_analytics.rb +15 -0
- data/bin/commands/admin_apps.rb +40 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +97 -0
- data/bin/commands/admin_users_session.rb +25 -2
- data/bin/commands/api.rb +3 -3
- data/bin/commands/apps.rb +3 -2
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_permissions.rb +5 -4
- data/bin/commands/apps_permissions_resources.rb +3 -2
- data/bin/commands/apps_permissions_scopes.rb +3 -2
- data/bin/commands/apps_permissions_users.rb +5 -4
- data/bin/commands/auth.rb +5 -4
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +4 -2
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +37 -33
- data/bin/commands/chat.rb +34 -33
- data/bin/commands/chat_scheduledMessages.rb +4 -2
- data/bin/commands/conversations.rb +50 -38
- data/bin/commands/dialog.rb +3 -2
- data/bin/commands/dnd.rb +10 -9
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +16 -13
- data/bin/commands/files_comments.rb +3 -2
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +38 -35
- data/bin/commands/im.rb +14 -13
- data/bin/commands/migration.rb +4 -2
- data/bin/commands/mpim.rb +14 -13
- data/bin/commands/oauth.rb +6 -5
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +7 -10
- data/bin/commands/reactions.rb +11 -11
- data/bin/commands/reminders.rb +11 -10
- data/bin/commands/rtm.rb +5 -4
- data/bin/commands/search.rb +11 -7
- data/bin/commands/stars.rb +7 -6
- data/bin/commands/team.rb +12 -8
- data/bin/commands/team_profile.rb +3 -2
- data/bin/commands/usergroups.rb +17 -11
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +26 -23
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +6 -5
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/slack +1 -2
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +1 -0
- data/examples/hi_real_time_async_async/hi.rb +6 -2
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- data/lib/slack-ruby-client.rb +6 -4
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +1 -0
- data/lib/slack/events/request.rb +8 -2
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -0
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +21 -13
- data/lib/slack/real_time/concurrency.rb +1 -2
- data/lib/slack/real_time/concurrency/async.rb +12 -6
- data/lib/slack/real_time/config.rb +9 -3
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/models/base.rb +1 -4
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/socket.rb +16 -13
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +4 -1
- data/lib/slack/real_time/stores/starter.rb +1 -0
- data/lib/slack/real_time/stores/store.rb +16 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +60 -0
- data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +62 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +40 -1
- data/lib/slack/web/api/endpoints/api.rb +2 -3
- data/lib/slack/web/api/endpoints/apps.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +3 -2
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +3 -2
- data/lib/slack/web/api/endpoints/auth.rb +3 -2
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +4 -1
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +52 -31
- data/lib/slack/web/api/endpoints/chat.rb +31 -30
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +5 -2
- data/lib/slack/web/api/endpoints/conversations.rb +55 -36
- data/lib/slack/web/api/endpoints/dialog.rb +2 -1
- data/lib/slack/web/api/endpoints/dnd.rb +5 -4
- data/lib/slack/web/api/endpoints/emoji.rb +2 -1
- data/lib/slack/web/api/endpoints/files.rb +13 -8
- data/lib/slack/web/api/endpoints/files_comments.rb +2 -1
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +39 -24
- data/lib/slack/web/api/endpoints/im.rb +17 -12
- data/lib/slack/web/api/endpoints/migration.rb +4 -1
- data/lib/slack/web/api/endpoints/mpim.rb +18 -13
- data/lib/slack/web/api/endpoints/oauth.rb +4 -6
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +7 -16
- data/lib/slack/web/api/endpoints/reactions.rb +14 -15
- data/lib/slack/web/api/endpoints/reminders.rb +6 -5
- data/lib/slack/web/api/endpoints/rtm.rb +3 -2
- data/lib/slack/web/api/endpoints/search.rb +10 -3
- data/lib/slack/web/api/endpoints/stars.rb +6 -7
- data/lib/slack/web/api/endpoints/team.rb +11 -5
- data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +16 -5
- data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -2
- data/lib/slack/web/api/endpoints/users.rb +18 -21
- data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +4 -3
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors.rb +850 -0
- data/lib/slack/web/api/errors/internal_error.rb +14 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
- data/lib/slack/web/api/mixins.rb +2 -0
- data/lib/slack/web/api/mixins/channels.id.rb +2 -3
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/groups.id.rb +2 -3
- data/lib/slack/web/api/mixins/ids.id.rb +3 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -3
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +29 -26
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +1 -0
- data/lib/slack/web/api/templates/commands.erb +1 -0
- data/lib/slack/web/api/templates/endpoints.erb +2 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +5 -1
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +3 -0
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +1 -0
- data/lib/slack/web/faraday/response/raise_error.rb +25 -6
- data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
- data/lib/slack/web/pagination/cursor.rb +3 -2
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +13 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +34 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +6 -3
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +16 -17
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +8 -4
- data/spec/slack/events/request_spec.rb +74 -40
- data/spec/slack/messages/formatting_spec.rb +25 -13
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +153 -38
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
- data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
- data/spec/slack/real_time/rtm_start_spec.rb +1 -0
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +37 -5
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +9 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/apps_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +21 -12
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +80 -25
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/im_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/oauth_spec.rb +4 -14
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +4 -2
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
- data/spec/slack/web/api/mixins/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
- data/spec/slack/web/client_spec.rb +171 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +47 -12
- data/spec/spec_helper.rb +2 -1
- data/spec/support/queue_with_timeout.rb +1 -0
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +9 -3
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +5 -0
- metadata +190 -46
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
- data/examples/hi_real_time_async_celluloid/Procfile +0 -2
- data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -35
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -136
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -82
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -15
- data/screenshots/register-bot.png +0 -0
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -111
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -49
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::AppsEventAuthorizations do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'apps.event.authorizations_list' do
|
|
9
|
+
it 'requires event_context' do
|
|
10
|
+
expect { client.apps_event_authorizations_list }.to raise_error ArgumentError, /Required arguments :event_context missing/
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -6,10 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::AppsPermissions do
|
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
context 'apps.permissions_request' do
|
|
8
9
|
it 'requires scopes' do
|
|
9
|
-
expect { client.apps_permissions_request(trigger_id:
|
|
10
|
+
expect { client.apps_permissions_request(trigger_id: %q[]) }.to raise_error ArgumentError, /Required arguments :scopes missing/
|
|
10
11
|
end
|
|
11
12
|
it 'requires trigger_id' do
|
|
12
|
-
expect { client.apps_permissions_request(scopes:
|
|
13
|
+
expect { client.apps_permissions_request(scopes: %q[]) }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -6,13 +7,13 @@ RSpec.describe Slack::Web::Api::Endpoints::AppsPermissionsUsers do
|
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
context 'apps.permissions.users_request' do
|
|
8
9
|
it 'requires scopes' do
|
|
9
|
-
expect { client.apps_permissions_users_request(trigger_id:
|
|
10
|
+
expect { client.apps_permissions_users_request(trigger_id: %q[], user: %q[]) }.to raise_error ArgumentError, /Required arguments :scopes missing/
|
|
10
11
|
end
|
|
11
12
|
it 'requires trigger_id' do
|
|
12
|
-
expect { client.apps_permissions_users_request(scopes:
|
|
13
|
+
expect { client.apps_permissions_users_request(scopes: %q[], user: %q[]) }.to raise_error ArgumentError, /Required arguments :trigger_id missing/
|
|
13
14
|
end
|
|
14
15
|
it 'requires user' do
|
|
15
|
-
expect { client.apps_permissions_users_request(scopes:
|
|
16
|
+
expect { client.apps_permissions_users_request(scopes: %q[], trigger_id: %q[]) }.to raise_error ArgumentError, /Required arguments :user missing/
|
|
16
17
|
end
|
|
17
18
|
end
|
|
18
19
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -6,10 +7,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Apps do
|
|
|
6
7
|
let(:client) { Slack::Web::Client.new }
|
|
7
8
|
context 'apps_uninstall' do
|
|
8
9
|
it 'requires client_id' do
|
|
9
|
-
expect { client.apps_uninstall(client_secret:
|
|
10
|
+
expect { client.apps_uninstall(client_secret: %q[f25b5ceaf8a3c2a2c4f52bb4f0b0499e]) }.to raise_error ArgumentError, /Required arguments :client_id missing/
|
|
10
11
|
end
|
|
11
12
|
it 'requires client_secret' do
|
|
12
|
-
expect { client.apps_uninstall(client_id:
|
|
13
|
+
expect { client.apps_uninstall(client_id: %q[56579136444.26251006572]) }.to raise_error ArgumentError, /Required arguments :client_secret missing/
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::CallsParticipants do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'calls.participants_add' do
|
|
9
|
+
it 'requires id' do
|
|
10
|
+
expect { client.calls_participants_add(users: %q[[{"slack_id": "U1H77"}, {"external_id": "54321678", "display_name": "External User", "avatar_url": "https://example.com/users/avatar1234.jpg"}]]) }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
11
|
+
end
|
|
12
|
+
it 'requires users' do
|
|
13
|
+
expect { client.calls_participants_add(id: %q[R0E69JAIF]) }.to raise_error ArgumentError, /Required arguments :users missing/
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
context 'calls.participants_remove' do
|
|
17
|
+
it 'requires id' do
|
|
18
|
+
expect { client.calls_participants_remove(users: %q[[{"slack_id": "U1H77"}, {"external_id": "54321678", "display_name": "External User", "avatar_url": "https://example.com/users/avatar1234.jpg"}]]) }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
19
|
+
end
|
|
20
|
+
it 'requires users' do
|
|
21
|
+
expect { client.calls_participants_remove(id: %q[R0E69JAIF]) }.to raise_error ArgumentError, /Required arguments :users missing/
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
require 'spec_helper'
|
|
5
|
+
|
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::Calls do
|
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
|
8
|
+
context 'calls_add' do
|
|
9
|
+
it 'requires external_unique_id' do
|
|
10
|
+
expect { client.calls_add(join_url: %q[https://example.com/calls/1234567890]) }.to raise_error ArgumentError, /Required arguments :external_unique_id missing/
|
|
11
|
+
end
|
|
12
|
+
it 'requires join_url' do
|
|
13
|
+
expect { client.calls_add(external_unique_id: %q[025169F6-E37A-4E62-BB54-7F93A0FC4C1F]) }.to raise_error ArgumentError, /Required arguments :join_url missing/
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
context 'calls_end' do
|
|
17
|
+
it 'requires id' do
|
|
18
|
+
expect { client.calls_end }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
context 'calls_info' do
|
|
22
|
+
it 'requires id' do
|
|
23
|
+
expect { client.calls_info }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
context 'calls_update' do
|
|
27
|
+
it 'requires id' do
|
|
28
|
+
expect { client.calls_update }.to raise_error ArgumentError, /Required arguments :id missing/
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
require 'spec_helper'
|
|
@@ -31,10 +32,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Conversations do
|
|
|
31
32
|
end
|
|
32
33
|
context 'conversations_invite' do
|
|
33
34
|
it 'requires channel' do
|
|
34
|
-
expect { client.conversations_invite(users:
|
|
35
|
+
expect { client.conversations_invite(users: %q[W1234567890,U2345678901,U3456789012]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
35
36
|
end
|
|
36
37
|
it 'requires users' do
|
|
37
|
-
expect { client.conversations_invite(channel:
|
|
38
|
+
expect { client.conversations_invite(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :users missing/
|
|
38
39
|
end
|
|
39
40
|
end
|
|
40
41
|
context 'conversations_join' do
|
|
@@ -44,10 +45,10 @@ RSpec.describe Slack::Web::Api::Endpoints::Conversations do
|
|
|
44
45
|
end
|
|
45
46
|
context 'conversations_kick' do
|
|
46
47
|
it 'requires channel' do
|
|
47
|
-
expect { client.conversations_kick(user:
|
|
48
|
+
expect { client.conversations_kick(user: %q[W1234567890]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
48
49
|
end
|
|
49
50
|
it 'requires user' do
|
|
50
|
-
expect { client.conversations_kick(channel:
|
|
51
|
+
expect { client.conversations_kick(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :user missing/
|
|
51
52
|
end
|
|
52
53
|
end
|
|
53
54
|
context 'conversations_leave' do
|
|
@@ -55,6 +56,14 @@ RSpec.describe Slack::Web::Api::Endpoints::Conversations do
|
|
|
55
56
|
expect { client.conversations_leave }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
56
57
|
end
|
|
57
58
|
end
|
|
59
|
+
context 'conversations_mark' do
|
|
60
|
+
it 'requires channel' do
|
|
61
|
+
expect { client.conversations_mark(ts: %q[1593473566.000200]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
62
|
+
end
|
|
63
|
+
it 'requires ts' do
|
|
64
|
+
expect { client.conversations_mark(channel: %q[C012345678]) }.to raise_error ArgumentError, /Required arguments :ts missing/
|
|
65
|
+
end
|
|
66
|
+
end
|
|
58
67
|
context 'conversations_members' do
|
|
59
68
|
it 'requires channel' do
|
|
60
69
|
expect { client.conversations_members }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
@@ -62,34 +71,34 @@ RSpec.describe Slack::Web::Api::Endpoints::Conversations do
|
|
|
62
71
|
end
|
|
63
72
|
context 'conversations_rename' do
|
|
64
73
|
it 'requires channel' do
|
|
65
|
-
expect { client.conversations_rename(name:
|
|
74
|
+
expect { client.conversations_rename(name: %q[]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
66
75
|
end
|
|
67
76
|
it 'requires name' do
|
|
68
|
-
expect { client.conversations_rename(channel:
|
|
77
|
+
expect { client.conversations_rename(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :name missing/
|
|
69
78
|
end
|
|
70
79
|
end
|
|
71
80
|
context 'conversations_replies' do
|
|
72
81
|
it 'requires channel' do
|
|
73
|
-
expect { client.conversations_replies(ts:
|
|
82
|
+
expect { client.conversations_replies(ts: %q[1234567890.123456]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
74
83
|
end
|
|
75
84
|
it 'requires ts' do
|
|
76
|
-
expect { client.conversations_replies(channel:
|
|
85
|
+
expect { client.conversations_replies(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :ts missing/
|
|
77
86
|
end
|
|
78
87
|
end
|
|
79
88
|
context 'conversations_setPurpose' do
|
|
80
89
|
it 'requires channel' do
|
|
81
|
-
expect { client.conversations_setPurpose(purpose:
|
|
90
|
+
expect { client.conversations_setPurpose(purpose: %q[My More Special Purpose]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
82
91
|
end
|
|
83
92
|
it 'requires purpose' do
|
|
84
|
-
expect { client.conversations_setPurpose(channel:
|
|
93
|
+
expect { client.conversations_setPurpose(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :purpose missing/
|
|
85
94
|
end
|
|
86
95
|
end
|
|
87
96
|
context 'conversations_setTopic' do
|
|
88
97
|
it 'requires channel' do
|
|
89
|
-
expect { client.conversations_setTopic(topic:
|
|
98
|
+
expect { client.conversations_setTopic(topic: %q[Apply topically for best effects]) }.to raise_error ArgumentError, /Required arguments :channel missing/
|
|
90
99
|
end
|
|
91
100
|
it 'requires topic' do
|
|
92
|
-
expect { client.conversations_setTopic(channel:
|
|
101
|
+
expect { client.conversations_setTopic(channel: %q[C1234567890]) }.to raise_error ArgumentError, /Required arguments :topic missing/
|
|
93
102
|
end
|
|
94
103
|
end
|
|
95
104
|
context 'conversations_unarchive' do
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Endpoints::Auth do
|
|
4
5
|
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
|
|
5
7
|
context 'without auth', vcr: { cassette_name: 'web/auth_test_error' } do
|
|
6
8
|
it 'fails with an exception' do
|
|
7
9
|
expect { client.auth_test }.to raise_error Slack::Web::Api::Errors::SlackError, 'not_authed'
|
|
8
10
|
end
|
|
9
11
|
end
|
|
12
|
+
|
|
10
13
|
context 'with auth', vcr: { cassette_name: 'web/auth_test_success' } do
|
|
11
14
|
it 'succeeds' do
|
|
12
|
-
expect { client.auth_test }.
|
|
15
|
+
expect { client.auth_test }.not_to raise_error
|
|
13
16
|
end
|
|
14
17
|
end
|
|
18
|
+
|
|
15
19
|
context '429 error', vcr: { cassette_name: 'web/429_error' } do
|
|
16
20
|
it 'fails with an specific exception' do
|
|
17
21
|
begin
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Endpoints::Channels do
|
|
4
5
|
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
|
|
5
7
|
context 'channels' do
|
|
6
|
-
it '
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
it 'raises deprecation error', vcr: { cassette_name: 'web/channels_info' } do
|
|
9
|
+
expect { client.channels_info(channel: '#general') }
|
|
10
|
+
.to raise_error(Slack::Web::Api::Errors::MethodDeprecated, 'method_deprecated')
|
|
9
11
|
end
|
|
10
12
|
end
|
|
11
13
|
end
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
4
5
|
let(:client) { Slack::Web::Client.new }
|
|
6
|
+
|
|
5
7
|
context 'chat_postEphemeral' do
|
|
6
8
|
let(:user) { OpenStruct.new(user: { id: '123' }) }
|
|
7
|
-
|
|
9
|
+
|
|
10
|
+
before do
|
|
8
11
|
allow(described_class).to receive(:users_id).and_return(user)
|
|
9
12
|
end
|
|
10
13
|
|
|
@@ -17,38 +20,66 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
|
17
20
|
attachments: '[]',
|
|
18
21
|
blocks: '[]'
|
|
19
22
|
)
|
|
20
|
-
client.chat_postEphemeral(
|
|
23
|
+
client.chat_postEphemeral(
|
|
24
|
+
channel: 'channel',
|
|
25
|
+
text: 'text',
|
|
26
|
+
user: '123',
|
|
27
|
+
attachments: [],
|
|
28
|
+
blocks: []
|
|
29
|
+
)
|
|
21
30
|
end
|
|
22
31
|
context 'text and user arguments' do
|
|
23
32
|
it 'requires text or attachments' do
|
|
24
|
-
expect { client.chat_postEphemeral(channel: 'channel') }.to
|
|
33
|
+
expect { client.chat_postEphemeral(channel: 'channel') }.to(
|
|
34
|
+
raise_error(ArgumentError, /Required arguments :text, :attachments or :blocks missing/)
|
|
35
|
+
)
|
|
25
36
|
end
|
|
26
37
|
it 'requires user' do
|
|
27
|
-
expect { client.chat_postEphemeral(channel: 'channel', text: 'text') }.to
|
|
38
|
+
expect { client.chat_postEphemeral(channel: 'channel', text: 'text') }.to(
|
|
39
|
+
raise_error(ArgumentError, /Required arguments :user missing/)
|
|
40
|
+
)
|
|
28
41
|
end
|
|
29
42
|
it 'both text and user' do
|
|
30
|
-
expect(client).to
|
|
31
|
-
|
|
43
|
+
expect(client).to(
|
|
44
|
+
receive(:post).with('chat.postEphemeral', hash_including(text: 'text', user: '123'))
|
|
45
|
+
)
|
|
46
|
+
expect do
|
|
47
|
+
client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123')
|
|
48
|
+
end.not_to raise_error
|
|
32
49
|
end
|
|
33
50
|
end
|
|
51
|
+
|
|
34
52
|
context 'attachments argument' do
|
|
35
53
|
it 'optional attachments' do
|
|
36
|
-
expect(client).to
|
|
37
|
-
|
|
54
|
+
expect(client).to(
|
|
55
|
+
receive(:post).with('chat.postEphemeral', hash_including(attachments: '[]'))
|
|
56
|
+
)
|
|
57
|
+
expect do
|
|
58
|
+
client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123', attachments: [])
|
|
59
|
+
end.not_to raise_error
|
|
38
60
|
end
|
|
39
61
|
it 'attachments without text' do
|
|
40
|
-
expect(client).to
|
|
41
|
-
|
|
62
|
+
expect(client).to(
|
|
63
|
+
receive(:post).with('chat.postEphemeral', hash_including(attachments: '[]'))
|
|
64
|
+
)
|
|
65
|
+
expect do
|
|
66
|
+
client.chat_postEphemeral(channel: 'channel', attachments: [], user: '123')
|
|
67
|
+
end.not_to raise_error
|
|
42
68
|
end
|
|
43
69
|
end
|
|
70
|
+
|
|
44
71
|
context 'blocks argument' do
|
|
45
72
|
it 'optional blocks' do
|
|
46
73
|
expect(client).to receive(:post).with('chat.postEphemeral', hash_including(blocks: '[]'))
|
|
47
|
-
expect
|
|
74
|
+
expect do
|
|
75
|
+
client.chat_postEphemeral(channel: 'channel', text: 'text', user: '123', blocks: [])
|
|
76
|
+
end.not_to raise_error
|
|
48
77
|
end
|
|
49
78
|
it 'blocks without text' do
|
|
50
79
|
expect(client).to receive(:post).with('chat.postEphemeral', hash_including(blocks: '[]'))
|
|
51
|
-
expect
|
|
80
|
+
expect do
|
|
81
|
+
client.chat_postEphemeral(channel: 'channel', blocks: [], user: '123')
|
|
82
|
+
end.not_to raise_error
|
|
52
83
|
end
|
|
53
84
|
end
|
|
54
85
|
end
|
|
@@ -66,29 +97,37 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
|
66
97
|
end
|
|
67
98
|
context 'text, attachment and blocks arguments' do
|
|
68
99
|
it 'requires text, attachments or blocks' do
|
|
69
|
-
expect { client.chat_postMessage(channel: 'channel') }.to
|
|
100
|
+
expect { client.chat_postMessage(channel: 'channel') }.to(
|
|
101
|
+
raise_error(ArgumentError, /Required arguments :text, :attachments or :blocks missing/)
|
|
102
|
+
)
|
|
70
103
|
end
|
|
71
104
|
it 'only text' do
|
|
72
105
|
expect(client).to receive(:post).with('chat.postMessage', hash_including(text: 'text'))
|
|
73
|
-
expect { client.chat_postMessage(channel: 'channel', text: 'text') }.
|
|
106
|
+
expect { client.chat_postMessage(channel: 'channel', text: 'text') }.not_to raise_error
|
|
74
107
|
end
|
|
75
108
|
it 'only attachments' do
|
|
76
109
|
expect(client).to receive(:post).with('chat.postMessage', hash_including(attachments: '[]'))
|
|
77
|
-
expect { client.chat_postMessage(channel: 'channel', attachments: []) }.
|
|
110
|
+
expect { client.chat_postMessage(channel: 'channel', attachments: []) }.not_to raise_error
|
|
78
111
|
end
|
|
79
112
|
it 'only blocks' do
|
|
80
113
|
expect(client).to receive(:post).with('chat.postMessage', hash_including(blocks: '[]'))
|
|
81
|
-
expect { client.chat_postMessage(channel: 'channel', blocks: []) }.
|
|
114
|
+
expect { client.chat_postMessage(channel: 'channel', blocks: []) }.not_to raise_error
|
|
82
115
|
end
|
|
83
116
|
it 'all text, attachments and blocks' do
|
|
84
|
-
expect(client).to
|
|
85
|
-
|
|
117
|
+
expect(client).to(
|
|
118
|
+
receive(:post)
|
|
119
|
+
.with('chat.postMessage', hash_including(text: 'text', attachments: '[]', blocks: '[]'))
|
|
120
|
+
)
|
|
121
|
+
expect do
|
|
122
|
+
client.chat_postMessage(channel: 'channel', text: 'text', attachments: [], blocks: [])
|
|
123
|
+
end.not_to raise_error
|
|
86
124
|
end
|
|
87
125
|
end
|
|
88
126
|
end
|
|
89
127
|
|
|
90
128
|
context 'chat_update' do
|
|
91
129
|
let(:ts) { '1405894322.002768' }
|
|
130
|
+
|
|
92
131
|
it 'automatically converts attachments and blocks into JSON' do
|
|
93
132
|
expect(client).to receive(:post).with(
|
|
94
133
|
'chat.update',
|
|
@@ -102,28 +141,44 @@ RSpec.describe Slack::Web::Api::Endpoints::Chat do
|
|
|
102
141
|
end
|
|
103
142
|
context 'ts arguments' do
|
|
104
143
|
it 'requires ts' do
|
|
105
|
-
expect
|
|
144
|
+
expect do
|
|
145
|
+
client.chat_update(channel: 'channel', text: 'text')
|
|
146
|
+
end.to raise_error(ArgumentError, /Required arguments :ts missing>/)
|
|
106
147
|
end
|
|
107
148
|
end
|
|
149
|
+
|
|
108
150
|
context 'text, attachment and blocks arguments' do
|
|
109
151
|
it 'requires text, attachments or blocks' do
|
|
110
|
-
expect { client.chat_update(channel: 'channel', ts: ts) }.to
|
|
152
|
+
expect { client.chat_update(channel: 'channel', ts: ts) }.to(
|
|
153
|
+
raise_error(ArgumentError, /Required arguments :text, :attachments or :blocks missing/)
|
|
154
|
+
)
|
|
111
155
|
end
|
|
112
156
|
it 'only text' do
|
|
113
157
|
expect(client).to receive(:post).with('chat.update', hash_including(text: 'text'))
|
|
114
|
-
expect
|
|
158
|
+
expect do
|
|
159
|
+
client.chat_update(channel: 'channel', text: 'text', ts: ts)
|
|
160
|
+
end.not_to raise_error
|
|
115
161
|
end
|
|
116
162
|
it 'only attachments' do
|
|
117
163
|
expect(client).to receive(:post).with('chat.update', hash_including(attachments: '[]'))
|
|
118
|
-
expect
|
|
164
|
+
expect do
|
|
165
|
+
client.chat_update(channel: 'channel', ts: ts, attachments: [])
|
|
166
|
+
end.not_to raise_error
|
|
119
167
|
end
|
|
120
168
|
it 'only blocks' do
|
|
121
169
|
expect(client).to receive(:post).with('chat.update', hash_including(blocks: '[]'))
|
|
122
|
-
expect
|
|
170
|
+
expect do
|
|
171
|
+
client.chat_update(channel: 'channel', ts: ts, blocks: [])
|
|
172
|
+
end.not_to raise_error
|
|
123
173
|
end
|
|
124
174
|
it 'all text, attachments and blocks' do
|
|
125
|
-
expect(client).to
|
|
126
|
-
|
|
175
|
+
expect(client).to(
|
|
176
|
+
receive(:post)
|
|
177
|
+
.with('chat.update', hash_including(text: 'text', attachments: '[]', blocks: '[]'))
|
|
178
|
+
)
|
|
179
|
+
expect do
|
|
180
|
+
client.chat_update(channel: 'channel', text: 'text', ts: ts, attachments: [], blocks: [])
|
|
181
|
+
end.not_to raise_error
|
|
127
182
|
end
|
|
128
183
|
end
|
|
129
184
|
end
|