diff options
Diffstat (limited to 'spec/services/issues/update_service_spec.rb')
-rw-r--r-- | spec/services/issues/update_service_spec.rb | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb index 77bd540e22f..42452e95f6b 100644 --- a/spec/services/issues/update_service_spec.rb +++ b/spec/services/issues/update_service_spec.rb @@ -840,27 +840,27 @@ RSpec.describe Issues::UpdateService, :mailer do end context 'real-time updates' do - let(:update_params) { { assignee_ids: [user2.id] } } + using RSpec::Parameterized::TableSyntax - context 'when broadcast_issue_updates is enabled' do - before do - stub_feature_flags(broadcast_issue_updates: true) - end - - it 'broadcasts to the issues channel' do - expect(IssuesChannel).to receive(:broadcast_to).with(issue, event: 'updated') + let(:update_params) { { assignee_ids: [user2.id] } } - update_issue(update_params) - end + where(:action_cable_in_app_enabled, :feature_flag_enabled, :should_broadcast) do + true | true | true + true | false | true + false | true | true + false | false | false end - context 'when broadcast_issue_updates is disabled' do - before do - stub_feature_flags(broadcast_issue_updates: false) - end + with_them do + it 'broadcasts to the issues channel based on ActionCable and feature flag values' do + expect(Gitlab::ActionCable::Config).to receive(:in_app?).and_return(action_cable_in_app_enabled) + stub_feature_flags(broadcast_issue_updates: feature_flag_enabled) - it 'does not broadcast to the issues channel' do - expect(IssuesChannel).not_to receive(:broadcast_to) + if should_broadcast + expect(IssuesChannel).to receive(:broadcast_to).with(issue, event: 'updated') + else + expect(IssuesChannel).not_to receive(:broadcast_to) + end update_issue(update_params) end |