diff options
Diffstat (limited to 'spec/support/shared_examples/controllers/unique_hll_events_examples.rb')
-rw-r--r-- | spec/support/shared_examples/controllers/unique_hll_events_examples.rb | 49 |
1 files changed, 13 insertions, 36 deletions
diff --git a/spec/support/shared_examples/controllers/unique_hll_events_examples.rb b/spec/support/shared_examples/controllers/unique_hll_events_examples.rb index 7e5a225f020..cf7ee17ea13 100644 --- a/spec/support/shared_examples/controllers/unique_hll_events_examples.rb +++ b/spec/support/shared_examples/controllers/unique_hll_events_examples.rb @@ -1,47 +1,24 @@ # frozen_string_literal: true +# +# Requires a context containing: +# - request +# - expected_type +# - target_id RSpec.shared_examples 'tracking unique hll events' do |feature_flag| - context 'when format is HTML' do - let(:format) { :html } + it 'tracks unique event' do + expect(Gitlab::UsageDataCounters::HLLRedisCounter).to receive(:track_event).with(expected_type, target_id) - it 'tracks unique event' do - expect(Gitlab::UsageDataCounters::HLLRedisCounter).to receive(:track_event).with(expected_type, target_id) - - subject - end - - it 'tracks unique event if DNT is not enabled' do - expect(Gitlab::UsageDataCounters::HLLRedisCounter).to receive(:track_event).with(expected_type, target_id) - request.headers['DNT'] = '0' - - subject - end - - it 'does not track unique event if DNT is enabled' do - expect(Gitlab::UsageDataCounters::HLLRedisCounter).not_to receive(:track_event).with(expected_type, target_id) - request.headers['DNT'] = '1' - - subject - end - - context 'when feature flag is disabled' do - it 'does not track unique event' do - stub_feature_flags(feature_flag => false) - - expect(Gitlab::UsageDataCounters::HLLRedisCounter).not_to receive(:track_event).with(expected_type, target_id) - - subject - end - end + request end - context 'when format is JSON' do - let(:format) { :json } + context 'when feature flag is disabled' do + it 'does not track unique event' do + stub_feature_flags(feature_flag => false) - it 'does not track unique event if the format is JSON' do - expect(Gitlab::UsageDataCounters::HLLRedisCounter).not_to receive(:track_event).with(expected_type, target_id) + expect(Gitlab::UsageDataCounters::HLLRedisCounter).not_to receive(:track_event) - subject + request end end end |