From 594b3e5c81f8ff3905927f3a2e3d4b570df5d3bc Mon Sep 17 00:00:00 2001 From: barseek Date: Tue, 30 May 2023 19:48:30 +0200 Subject: [PATCH] Allow to use symbols for broadcasting target --- .../rails/matchers/action_cable/have_broadcasted_to.rb | 5 ++++- .../rails/matchers/action_cable/have_broadcasted_to_spec.rb | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb b/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb index 8458fae2f2..674a9113a0 100644 --- a/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb +++ b/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb @@ -96,8 +96,11 @@ def from_channel(channel) private def stream - @stream ||= if @target.is_a?(String) + @stream ||= case @target + when String @target + when Symbol + @target.to_s else check_channel_presence @channel.broadcasting_for(@target) diff --git a/spec/rspec/rails/matchers/action_cable/have_broadcasted_to_spec.rb b/spec/rspec/rails/matchers/action_cable/have_broadcasted_to_spec.rb index 7da826eca8..a2b3457a71 100644 --- a/spec/rspec/rails/matchers/action_cable/have_broadcasted_to_spec.rb +++ b/spec/rspec/rails/matchers/action_cable/have_broadcasted_to_spec.rb @@ -50,6 +50,12 @@ def broadcast(stream, msg) }.to have_broadcasted_to('stream') end + it "passes when using symbol target" do + expect { + broadcast(:stream, 'hello') + }.to have_broadcasted_to(:stream) + end + it "passes when using alias" do expect { broadcast('stream', 'hello')