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:
authorJeremy Jackson <jjackson@gitlab.com>2019-08-27 01:16:23 +0300
committerMayra Cabrera <mcabrera@gitlab.com>2019-08-27 01:16:23 +0300
commit92b723db956e2b75b4bdcfb4d94c3c3cff8bf639 (patch)
tree9c1d60ebc1e38689428b7579d1932203a1e70a3c /spec/lib/gitlab
parent1d83240beb08aaaa240efbc8f63293019603a744 (diff)
Revert "Merge branch 'user-tracking-settings' into 'master'"
This reverts merge request !31826
Diffstat (limited to 'spec/lib/gitlab')
-rw-r--r--spec/lib/gitlab/snowplow_tracker_spec.rb45
-rw-r--r--spec/lib/gitlab/tracking_spec.rb88
2 files changed, 45 insertions, 88 deletions
diff --git a/spec/lib/gitlab/snowplow_tracker_spec.rb b/spec/lib/gitlab/snowplow_tracker_spec.rb
new file mode 100644
index 00000000000..073a33e5973
--- /dev/null
+++ b/spec/lib/gitlab/snowplow_tracker_spec.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+require 'spec_helper'
+
+describe Gitlab::SnowplowTracker do
+ let(:timestamp) { Time.utc(2017, 3, 22) }
+
+ around do |example|
+ Timecop.freeze(timestamp) { example.run }
+ end
+
+ subject { described_class.track_event('epics', 'action', property: 'what', value: 'doit') }
+
+ context '.track_event' do
+ context 'when Snowplow tracker is disabled' do
+ it 'does not track the event' do
+ expect(SnowplowTracker::Tracker).not_to receive(:new)
+
+ subject
+ end
+ end
+
+ context 'when Snowplow tracker is enabled' do
+ before do
+ stub_application_setting(snowplow_enabled: true)
+ stub_application_setting(snowplow_site_id: 'awesome gitlab')
+ stub_application_setting(snowplow_collector_hostname: 'url.com')
+ end
+
+ it 'tracks the event' do
+ tracker = double
+
+ expect(::SnowplowTracker::Tracker).to receive(:new)
+ .with(
+ an_instance_of(::SnowplowTracker::Emitter),
+ an_instance_of(::SnowplowTracker::Subject),
+ 'cf', 'awesome gitlab'
+ ).and_return(tracker)
+ expect(tracker).to receive(:track_struct_event)
+ .with('epics', 'action', nil, 'what', 'doit', nil, timestamp.to_i)
+
+ subject
+ end
+ end
+ end
+end
diff --git a/spec/lib/gitlab/tracking_spec.rb b/spec/lib/gitlab/tracking_spec.rb
deleted file mode 100644
index f14e74427e1..00000000000
--- a/spec/lib/gitlab/tracking_spec.rb
+++ /dev/null
@@ -1,88 +0,0 @@
-# frozen_string_literal: true
-require 'spec_helper'
-
-describe Gitlab::Tracking do
- let(:timestamp) { Time.utc(2017, 3, 22) }
-
- before do
- stub_application_setting(snowplow_enabled: true)
- stub_application_setting(snowplow_collector_hostname: 'gitfoo.com')
- stub_application_setting(snowplow_cookie_domain: '.gitfoo.com')
- stub_application_setting(snowplow_site_id: '_abc123_')
- end
-
- describe '.snowplow_options' do
- subject(&method(:described_class))
-
- it 'returns useful client options' do
- expect(subject.snowplow_options(nil)).to eq(
- namespace: 'gl',
- hostname: 'gitfoo.com',
- cookieDomain: '.gitfoo.com',
- appId: '_abc123_',
- pageTrackingEnabled: true,
- activityTrackingEnabled: true
- )
- end
-
- it 'enables features using feature flags' do
- stub_feature_flags(additional_snowplow_tracking: true)
- allow(Feature).to receive(:enabled?).with(
- :additional_snowplow_tracking,
- '_group_'
- ).and_return(false)
-
- expect(subject.snowplow_options('_group_')).to include(
- pageTrackingEnabled: false,
- activityTrackingEnabled: false
- )
- end
- end
-
- describe '.event' do
- subject(&method(:described_class))
-
- around do |example|
- Timecop.freeze(timestamp) { example.run }
- end
-
- it 'can track events' do
- tracker = double
-
- expect(SnowplowTracker::Emitter).to receive(:new).with(
- 'gitfoo.com'
- ).and_return('_emitter_')
-
- expect(SnowplowTracker::Tracker).to receive(:new).with(
- '_emitter_',
- an_instance_of(SnowplowTracker::Subject),
- 'gl',
- '_abc123_'
- ).and_return(tracker)
-
- expect(tracker).to receive(:track_struct_event).with(
- 'category',
- 'action',
- '_label_',
- '_property_',
- '_value_',
- '_context_',
- timestamp.to_i
- )
-
- subject.event('category', 'action',
- label: '_label_',
- property: '_property_',
- value: '_value_',
- context: '_context_'
- )
- end
-
- it 'does not track when not enabled' do
- stub_application_setting(snowplow_enabled: false)
- expect(SnowplowTracker::Tracker).not_to receive(:new)
-
- subject.event('epics', 'action', property: 'what', value: 'doit')
- end
- end
-end