Sha256: 81afd18160237b827a3ff3af5e32649ecc93c8bf398d7d87cb52555887262206

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

require 'spec_helper'

RSpec.describe Slack::Web::Api::Mixins::Channels do
  let(:klass) do
    Class.new do
      include Slack::Web::Api::Mixins::Channels
    end
  end
  subject do
    klass.new
  end
  before do
    allow(subject).to receive(:channels_list).and_return(Slack::Messages::Message.new(
                                                           'channels' => [{
                                                             'id' => 'CDEADBEEF',
                                                             'name' => 'general'
                                                           }]
    ))
  end
  context '#channels_id' do
    it 'leaves channels specified by ID alone' do
      expect(subject.channels_id(channel: 'C123456')).to eq('ok' => true, 'channel' => { 'id' => 'C123456' })
    end
    it 'translates a channel that starts with a #' do
      expect(subject.channels_id(channel: '#general')).to eq('ok' => true, 'channel' => { 'id' => 'CDEADBEEF' })
    end
    it 'fails with an exception' do
      expect { subject.channels_id(channel: '#invalid') }.to raise_error Slack::Web::Api::Errors::SlackError, 'channel_not_found'
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
slack-ruby-client-0.11.1 spec/slack/web/api/mixins/channels_spec.rb
slack-ruby-client-0.11.0 spec/slack/web/api/mixins/channels_spec.rb
slack-ruby-client-0.10.0 spec/slack/web/api/mixins/channels_spec.rb
slack-ruby-client-0.9.1 spec/slack/web/api/mixins/channels_spec.rb
slack-ruby-client-0.9.0 spec/slack/web/api/mixins/channels_spec.rb