Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/event_create_service_spec.rb')
-rw-r--r--spec/services/event_create_service_spec.rb80
1 files changed, 68 insertions, 12 deletions
diff --git a/spec/services/event_create_service_spec.rb b/spec/services/event_create_service_spec.rb
index c22099fe410..56da85cc4a0 100644
--- a/spec/services/event_create_service_spec.rb
+++ b/spec/services/event_create_service_spec.rb
@@ -21,8 +21,10 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
end
shared_examples 'Snowplow event' do
+ let(:label) { nil }
+
it 'is not emitted if FF is disabled' do
- stub_feature_flags(route_hll_to_snowplow: false)
+ stub_feature_flags(feature_flag_name => false)
subject
@@ -30,15 +32,18 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
end
it 'is emitted' do
+ params = {
+ category: category,
+ action: action,
+ namespace: namespace,
+ user: user,
+ project: project,
+ label: label
+ }.compact
+
subject
- expect_snowplow_event(
- category: described_class.to_s,
- action: 'action_active_users_project_repo',
- namespace: project.namespace,
- user: user,
- project: project
- )
+ expect_snowplow_event(**params)
end
end
@@ -74,7 +79,7 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
end
end
- describe 'Merge Requests' do
+ describe 'Merge Requests', :snowplow do
describe '#open_mr' do
subject(:open_mr) { service.open_mr(merge_request, merge_request.author) }
@@ -89,6 +94,16 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
it_behaves_like "it records the event in the event counter" do
let(:event_action) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION }
end
+
+ it_behaves_like 'Snowplow event' do
+ let(:category) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION.to_s }
+ let(:label) { 'merge_requests_users' }
+ let(:action) { 'create' }
+ let(:namespace) { project.namespace }
+ let(:project) { merge_request.project }
+ let(:user) { merge_request.author }
+ let(:feature_flag_name) { :route_hll_to_snowplow_phase2 }
+ end
end
describe '#close_mr' do
@@ -105,6 +120,16 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
it_behaves_like "it records the event in the event counter" do
let(:event_action) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION }
end
+
+ it_behaves_like 'Snowplow event' do
+ let(:category) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION.to_s }
+ let(:label) { 'merge_requests_users' }
+ let(:action) { 'close' }
+ let(:namespace) { project.namespace }
+ let(:project) { merge_request.project }
+ let(:user) { merge_request.author }
+ let(:feature_flag_name) { :route_hll_to_snowplow_phase2 }
+ end
end
describe '#merge_mr' do
@@ -121,6 +146,16 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
it_behaves_like "it records the event in the event counter" do
let(:event_action) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION }
end
+
+ it_behaves_like 'Snowplow event' do
+ let(:category) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION.to_s }
+ let(:label) { 'merge_requests_users' }
+ let(:action) { 'merge' }
+ let(:namespace) { project.namespace }
+ let(:project) { merge_request.project }
+ let(:user) { merge_request.author }
+ let(:feature_flag_name) { :route_hll_to_snowplow_phase2 }
+ end
end
describe '#reopen_mr' do
@@ -295,7 +330,12 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
let(:event_action) { Gitlab::UsageDataCounters::TrackUniqueEvents::PUSH_ACTION }
end
- it_behaves_like 'Snowplow event'
+ it_behaves_like 'Snowplow event' do
+ let(:category) { described_class.to_s }
+ let(:action) { 'action_active_users_project_repo' }
+ let(:namespace) { project.namespace }
+ let(:feature_flag_name) { :route_hll_to_snowplow }
+ end
end
describe '#bulk_push', :snowplow do
@@ -315,7 +355,12 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
let(:event_action) { Gitlab::UsageDataCounters::TrackUniqueEvents::PUSH_ACTION }
end
- it_behaves_like 'Snowplow event'
+ it_behaves_like 'Snowplow event' do
+ let(:category) { described_class.to_s }
+ let(:action) { 'action_active_users_project_repo' }
+ let(:namespace) { project.namespace }
+ let(:feature_flag_name) { :route_hll_to_snowplow }
+ end
end
describe 'Project' do
@@ -392,7 +437,7 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
end
end
- describe '#leave_note' do
+ describe '#leave_note', :snowplow do
subject(:leave_note) { service.leave_note(note, author) }
let(:note) { create(:note) }
@@ -409,6 +454,17 @@ RSpec.describe EventCreateService, :clean_gitlab_redis_cache, :clean_gitlab_redi
it_behaves_like "it records the event in the event counter" do
let(:note) { create(:diff_note_on_merge_request) }
end
+
+ it_behaves_like 'Snowplow event' do
+ let(:note) { create(:diff_note_on_merge_request) }
+ let(:category) { Gitlab::UsageDataCounters::TrackUniqueEvents::MERGE_REQUEST_ACTION.to_s }
+ let(:label) { 'merge_requests_users' }
+ let(:action) { 'comment' }
+ let(:project) { note.project }
+ let(:namespace) { project.namespace }
+ let(:feature_flag_name) { :route_hll_to_snowplow_phase2 }
+ let(:user) { author }
+ end
end
context 'when it is not a diff note' do