Sha256: 3b25237e53adb1d84c3b64723313dfd341568bdc8a81671f61edb360e46f9cec

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true
require 'spec_helper'

RSpec.describe Slack::Web::Api::Errors::SlackError do
  let(:client) { Slack::Web::Client.new }

  it 'provides access to the response object', vcr: { cassette_name: 'web/auth_test_error' } do
    client.auth_test
    raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
  rescue described_class => e
    expect(e.response).not_to be_nil
    expect(e.response.status).to eq 200
    expect(e.message).to eql 'not_authed'
    expect(e.error).to eql 'not_authed'
    expect(e.response_metadata).to be_nil
  end

  it 'provides access to any response_metadata', vcr: { cassette_name: 'web/views_open_error' } do
    client.views_open(trigger_id: 'trigger_id', view: {})
    raise 'Expected to receive Slack::Web::Api::Errors::SlackError.'
  rescue described_class => e
    expect(e.response).not_to be_nil
    expect(e.response.status).to eq 200
    expect(e.message).to eql 'invalid_arguments'
    expect(e.error).to eql 'invalid_arguments'
    expect(e.response_metadata).to eq(
      'messages' => [
        '[ERROR] failed to match all allowed schemas [json-pointer:/view]',
        '[ERROR] missing required field: type [json-pointer:/view]'
      ]
    )
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
slack-ruby-client-2.4.0 spec/slack/web/api/errors/slack_error_spec.rb
slack-ruby-client-2.3.0 spec/slack/web/api/errors/slack_error_spec.rb
slack-ruby-client-2.2.0 spec/slack/web/api/errors/slack_error_spec.rb
slack-ruby-client-2.1.0 spec/slack/web/api/errors/slack_error_spec.rb
slack-ruby-client-2.0.0 spec/slack/web/api/errors/slack_error_spec.rb
slack-ruby-client-1.1.0 spec/slack/web/api/errors/slack_error_spec.rb
slack-ruby-client-1.0.0 spec/slack/web/api/errors/slack_error_spec.rb