Sha256: 6abe4378ba2c9c08f916c4b8f2fc5e882d4ee758928ee4382e1e4887e204f72e

Contents?: true

Size: 960 Bytes

Versions: 8

Compression:

Stored size: 960 Bytes

Contents

require 'spec_helper'

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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
slack-ruby-client-0.14.4 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.14.3 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.14.2 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.14.1 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.14.0 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.13.1 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.13.0 spec/slack/web/api/mixins/groups_spec.rb
slack-ruby-client-0.12.0 spec/slack/web/api/mixins/groups_spec.rb