From aa6ff0836fd3d8d970b0c0e54d73e4804ca18493 Mon Sep 17 00:00:00 2001 From: Sarah Yasonik <syasonik@gitlab.com> Date: Mon, 9 Sep 2024 02:02:32 +0000 Subject: [PATCH] Add tests using 'internal event tracking' shared example to fail faster --- .../matchers/internal_events_matchers_spec.rb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/spec/support_specs/matchers/internal_events_matchers_spec.rb b/spec/support_specs/matchers/internal_events_matchers_spec.rb index 7078d87d023be..54a9dda164cc5 100644 --- a/spec/support_specs/matchers/internal_events_matchers_spec.rb +++ b/spec/support_specs/matchers/internal_events_matchers_spec.rb @@ -7,6 +7,7 @@ let_it_be(:user_2) { create(:user) } let_it_be(:group_1) { create(:group) } let_it_be(:group_2) { create(:group) } + let_it_be(:project_1) { create(:project, namespace: group_1) } def track_event(event: nil, user: nil, group: nil) Gitlab::InternalEvents.track_event( @@ -322,4 +323,43 @@ def track_event(event: nil, user: nil, group: nil) .and not_change { User.count } end end + + context "when using the 'internal event tracking' shared example" do + context 'with identifiers' do + let(:event) { 'g_edit_by_sfe' } + let(:user) { user_1 } + let(:namespace) { group_1 } + + subject(:assertion) { track_event } + + it_behaves_like 'internal event tracking' + end + + context 'with additional properties' do + let(:event) { 'push_package_to_registry' } + let(:user) { user_1 } + let(:project) { project_1 } + + subject(:assertion) do + Gitlab::InternalEvents.track_event( + event, + user: user, + project: project, + additional_properties: { label: 'Awesome label value' } + ) + end + + it_behaves_like 'internal event tracking' do + let(:additional_properties) { { label: 'Awesome label value' } } + end + + it_behaves_like 'internal event tracking' do + let(:label) { 'Awesome label value' } + end + + it_behaves_like 'internal event tracking' do + let(:event_attribute_overrides) { { label: 'Awesome label value' } } + end + end + end end -- GitLab