Sha256: 045f5f52557d46c13bf913f462330b2b16748c4441d1a7138e6fdc21b18f0d65

Contents?: true

Size: 1 KB

Versions: 3

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

describe SlackRubyBot::Commands, if: WithGiphy.env? do
  let! :command do
    Class.new(SlackRubyBot::Commands::Base) do
      command 'send_gif_spec' do |client, data, _match|
        client.say(channel: data.channel, gif: 'dummy')
      end
    end
  end

  let(:gif_image_url) { 'http://media2.giphy.com/media/pzOijFsdDrsS4/giphy.gif' }
  let(:gif) { OpenStruct.new('image_url' => gif_image_url) }

  it 'sends a gif' do
    expect(Giphy).to receive(:random).and_return(gif)
    expect(message: "#{SlackRubyBot.config.user} send_gif_spec message").to respond_with_slack_message(gif_image_url)
  end
  it 'eats up the error' do
    expect(Giphy).to receive(:random) { raise 'oh no!' }
    expect(message: "#{SlackRubyBot.config.user} send_gif_spec message").to respond_with_slack_message('')
  end
  it 'eats up nil gif' do
    expect(Giphy).to receive(:random).and_return(nil)
    expect(message: "#{SlackRubyBot.config.user} send_gif_spec message").to respond_with_slack_message('')
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
slack-ruby-bot-0.15.0 spec/slack-ruby-bot/commands/send_gif_spec.rb
slack-ruby-bot-0.14.0 spec/slack-ruby-bot/commands/send_gif_spec.rb
slack-ruby-bot-0.13.0 spec/slack-ruby-bot/commands/send_gif_spec.rb