diff options
author | Jeremy Jackson <jjackson@gitlab.com> | 2019-08-27 01:16:23 +0300 |
---|---|---|
committer | Mayra Cabrera <mcabrera@gitlab.com> | 2019-08-27 01:16:23 +0300 |
commit | 92b723db956e2b75b4bdcfb4d94c3c3cff8bf639 (patch) | |
tree | 9c1d60ebc1e38689428b7579d1932203a1e70a3c /spec/lib | |
parent | 1d83240beb08aaaa240efbc8f63293019603a744 (diff) |
Revert "Merge branch 'user-tracking-settings' into 'master'"
This reverts merge request !31826
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/gitlab/snowplow_tracker_spec.rb | 45 | ||||
-rw-r--r-- | spec/lib/gitlab/tracking_spec.rb | 88 |
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 |