diff options
Diffstat (limited to 'spec/support/shared_examples/controllers/snowplow_event_tracking_examples.rb')
-rw-r--r-- | spec/support/shared_examples/controllers/snowplow_event_tracking_examples.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/support/shared_examples/controllers/snowplow_event_tracking_examples.rb b/spec/support/shared_examples/controllers/snowplow_event_tracking_examples.rb new file mode 100644 index 00000000000..98fc52add51 --- /dev/null +++ b/spec/support/shared_examples/controllers/snowplow_event_tracking_examples.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true +# +# Requires a context containing: +# - subject +# - project +# - feature_flag_name +# - category +# - action +# - namespace +# - user + +shared_examples 'Snowplow event tracking' do + let(:label) { nil } + + it 'is not emitted if FF is disabled' do + stub_feature_flags(feature_flag_name => false) + + subject + + expect_no_snowplow_event + end + + it 'is emitted' do + params = { + category: category, + action: action, + namespace: namespace, + user: user, + project: project, + label: label + }.compact + + subject + + expect_snowplow_event(**params) + end +end |