diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-29 12:08:46 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-29 12:08:46 +0300 |
commit | f931527bc5120097db15737f8594a431bcad9116 (patch) | |
tree | 9f222683bb0ee7b88e3f7c0e02362a530e3c98a6 /spec/controllers | |
parent | fd3d0d4c2c5ecac651fdeff92a1f2e4c927e05e0 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/invites_controller_spec.rb | 38 | ||||
-rw-r--r-- | spec/controllers/registrations_controller_spec.rb | 25 |
2 files changed, 40 insertions, 23 deletions
diff --git a/spec/controllers/invites_controller_spec.rb b/spec/controllers/invites_controller_spec.rb index 0d9cde88eca..345e8e47d1d 100644 --- a/spec/controllers/invites_controller_spec.rb +++ b/spec/controllers/invites_controller_spec.rb @@ -25,37 +25,47 @@ RSpec.describe InvitesController do end end - describe 'GET #show' do + describe 'GET #show', :snowplow do subject(:request) { get :show, params: params } - context 'when it is part of our invite email experiment' do + context 'when it is an initial invite email' do let(:extra_params) { { invite_type: 'initial_email' } } - it 'tracks the experiment' do - experiment = double(track: true) - allow(controller).to receive(:experiment).with('members/invite_email', actor: member).and_return(experiment) - + it 'tracks the initial join click from email' do request - expect(experiment).to have_received(:track).with(:join_clicked) + expect_snowplow_event( + category: described_class.name, + action: 'join_clicked', + label: 'invite_email', + property: member.id.to_s + ) end context 'when member does not exist' do let(:raw_invite_token) { '_bogus_token_' } - it 'does not track the experiment' do - expect(controller).not_to receive(:experiment).with('members/invite_email', actor: member) - + it 'does not track join click' do request + + expect_no_snowplow_event( + category: described_class.name, + action: 'join_clicked', + label: 'invite_email' + ) end end end - context 'when it is not part of our invite email experiment' do - it 'does not track via experiment' do - expect(controller).not_to receive(:experiment).with('members/invite_email', actor: member) - + context 'when it is not an initial email' do + it 'does not track the join click' do request + + expect_no_snowplow_event( + category: described_class.name, + action: 'join_clicked', + label: 'invite_email' + ) end end diff --git a/spec/controllers/registrations_controller_spec.rb b/spec/controllers/registrations_controller_spec.rb index 72aa9038c3e..4c91d3e890a 100644 --- a/spec/controllers/registrations_controller_spec.rb +++ b/spec/controllers/registrations_controller_spec.rb @@ -155,7 +155,7 @@ RSpec.describe RegistrationsController do end context 'when registration is triggered from an accepted invite' do - context 'when it is part of our invite email experiment', :experiment do + context 'when it is part from the initial invite email', :snowplow do let_it_be(:member) { create(:project_member, :invited, invite_email: user_params.dig(:user, :email)) } let(:originating_member_id) { member.id } @@ -167,22 +167,29 @@ RSpec.describe RegistrationsController do end context 'when member exists from the session key value' do - it 'tracks the experiment' do - expect(experiment('members/invite_email')).to track(:accepted) - .with_context(actor: member) - .on_next_instance - + it 'tracks the invite acceptance' do subject + + expect_snowplow_event( + category: 'RegistrationsController', + action: 'accepted', + label: 'invite_email', + property: member.id.to_s + ) end end context 'when member does not exist from the session key value' do let(:originating_member_id) { -1 } - it 'tracks the experiment' do - expect(experiment('members/invite_email')).not_to track(:accepted) - + it 'does not track invite acceptance' do subject + + expect_no_snowplow_event( + category: 'RegistrationsController', + action: 'accepted', + label: 'invite_email' + ) end end end |