summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb')
-rw-r--r--spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb53
1 files changed, 28 insertions, 25 deletions
diff --git a/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
index 74e63d219bd..9a1ffd8d01d 100644
--- a/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
+++ b/spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb
@@ -50,11 +50,29 @@ RSpec.describe Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter, :cl
end
describe '.track_create_mr_action' do
- subject { described_class.track_create_mr_action(user: user) }
+ subject { described_class.track_create_mr_action(user: user, merge_request: merge_request) }
+
+ let(:merge_request) { create(:merge_request) }
+ let(:target_project) { merge_request.target_project }
+
+ it_behaves_like 'a tracked merge request unique event' do
+ let(:action) { described_class::MR_USER_CREATE_ACTION }
+ end
it_behaves_like 'a tracked merge request unique event' do
let(:action) { described_class::MR_CREATE_ACTION }
end
+
+ it_behaves_like 'Snowplow event tracking with RedisHLL context' do
+ let(:action) { :create }
+ let(:category) { described_class.name }
+ let(:project) { target_project }
+ let(:namespace) { project.namespace.reload }
+ let(:user) { project.creator }
+ let(:feature_flag_name) { :route_hll_to_snowplow_phase2 }
+ let(:label) { 'redis_hll_counters.code_review.i_code_review_create_mr_monthly' }
+ let(:property) { described_class::MR_CREATE_ACTION }
+ end
end
describe '.track_close_mr_action' do
@@ -94,30 +112,15 @@ RSpec.describe Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter, :cl
let(:action) { described_class::MR_APPROVE_ACTION }
end
- it 'records correct payload with Snowplow event', :snowplow do
- stub_feature_flags(route_hll_to_snowplow_phase2: true)
-
- subject
-
- expect_snowplow_event(
- category: 'merge_requests',
- action: 'i_code_review_user_approve_mr',
- namespace: target_project.namespace,
- user: user,
- project: target_project
- )
- end
-
- context 'when FF is disabled' do
- before do
- stub_feature_flags(route_hll_to_snowplow_phase2: false)
- end
-
- it 'doesnt emit snowplow events', :snowplow do
- subject
-
- expect_no_snowplow_event
- end
+ it_behaves_like 'Snowplow event tracking with RedisHLL context' do
+ let(:action) { :approve }
+ let(:category) { described_class.name }
+ let(:project) { target_project }
+ let(:namespace) { project.namespace.reload }
+ let(:user) { project.creator }
+ let(:feature_flag_name) { :route_hll_to_snowplow_phase2 }
+ let(:label) { 'redis_hll_counters.code_review.i_code_review_user_approve_mr_monthly' }
+ let(:property) { described_class::MR_APPROVE_ACTION }
end
end