2020-06-22 15:09:27 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
RSpec.shared_examples 'tracking unique visits' do |method|
|
2021-08-06 03:08:43 +00:00
|
|
|
include TrackingHelpers
|
|
|
|
|
2020-09-16 12:10:15 +00:00
|
|
|
let(:request_params) { {} }
|
|
|
|
|
2020-06-22 15:09:27 +00:00
|
|
|
it 'tracks unique visit if the format is HTML' do
|
2021-04-02 12:09:15 +00:00
|
|
|
expect(Gitlab::UsageDataCounters::HLLRedisCounter)
|
|
|
|
.to receive(:track_event).with(target_id, values: kind_of(String))
|
2020-06-22 15:09:27 +00:00
|
|
|
|
|
|
|
get method, params: request_params, format: :html
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'tracks unique visit if DNT is not enabled' do
|
2021-04-02 12:09:15 +00:00
|
|
|
expect(Gitlab::UsageDataCounters::HLLRedisCounter)
|
|
|
|
.to receive(:track_event).with(target_id, values: kind_of(String))
|
|
|
|
|
2021-08-06 03:08:43 +00:00
|
|
|
stub_do_not_track('0')
|
2020-06-22 15:09:27 +00:00
|
|
|
|
|
|
|
get method, params: request_params, format: :html
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'does not track unique visit if DNT is enabled' do
|
2021-04-02 12:09:15 +00:00
|
|
|
expect(Gitlab::UsageDataCounters::HLLRedisCounter).not_to receive(:track_event)
|
2021-08-06 03:08:43 +00:00
|
|
|
|
|
|
|
stub_do_not_track('1')
|
2020-06-22 15:09:27 +00:00
|
|
|
|
|
|
|
get method, params: request_params, format: :html
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'does not track unique visit if the format is JSON' do
|
2021-04-02 12:09:15 +00:00
|
|
|
expect(Gitlab::UsageDataCounters::HLLRedisCounter).not_to receive(:track_event)
|
2020-06-22 15:09:27 +00:00
|
|
|
|
|
|
|
get method, params: request_params, format: :json
|
|
|
|
end
|
|
|
|
end
|