# frozen_string_literal: true require "rails_helper" RSpec.describe Slack::SocketMode do let(:client) { Slack::SocketMode::Client } let(:handler) { Slack::SocketMode::Handler } let(:payload) { { type: :events_api } } let(:client_instance) { instance_double(client, close: nil) } describe ".start" do it "instantiates a socket mode client" do expect(Slack::SocketMode::Client).to receive(:new).with(debug: false).and_return(client_instance) expect(client_instance).to receive(:listen).and_yield(payload) expect(handler).to receive(:process).with(payload) described_class.start end it "can request a debug mode connection" do expect(Slack::SocketMode::Client).to receive(:new).with(debug: true).and_return(client_instance) expect(client_instance).to receive(:listen).and_yield(payload) expect(handler).to receive(:process).with(payload) described_class.start(debug: true) end end end