Skip to content
This repository was archived by the owner on Sep 22, 2025. It is now read-only.
This repository was archived by the owner on Sep 22, 2025. It is now read-only.

Missing documentation on usage with RSpec? #233

Description

@Alobeast

Hi,

When trying to rspec test a command such as:

command('support', &->(client, data, match){
        channel_real_name = client.channels.dig(data.channel, :name)
        client.say(channel: data.channel,
                         text: "#{channel_real_name} support url: https://url")
})

with the following spec file:

require_relative '../commands/support'
require 'pry'


describe MyBot::Commands::Support do

  it 'gives support link' do
    expect(message: "#{SlackRubyBot.config.user} support").to respond_with_slack_message(/support url/)
  end
end

and spec_helper:

require 'slack-ruby-bot/rspec'
require 'webmock/rspec'

$LOAD_PATH.unshift(File.dirname(__FILE__))

require 'yaml'
require 'json'
require 'async'

require_relative '../mybot'

When running rspec I get:

1) MyBot::Commands::Support gives support link
     Failure/Error: client.channels.dig(data.channel, :name)
     
     NoMethodError:
       undefined method `dig' for nil:NilClass

Whereas I'm expecting to get a green passing test.

In order to get over the error I think I need to connect to slack but I can’t find the proper documentation for doing so.

Thanks

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions