diff --git a/app/services/members/create_service.rb b/app/services/members/create_service.rb index aba075c3644836525ec9108e533d1eb1743fb62c..199dee6e1c53d7c41659d60b81b3d56550e28d9e 100644 --- a/app/services/members/create_service.rb +++ b/app/services/members/create_service.rb @@ -38,6 +38,7 @@ def execute result rescue BlankInvitesError, TooManyInvitesError, MembershipLockedError => e + Gitlab::ErrorTracking.log_exception(e, class: self.class.to_s, user_id: current_user.id) error(e.message) end diff --git a/spec/services/members/create_service_spec.rb b/spec/services/members/create_service_spec.rb index 96fa8ab278d33551ef94921ce2b1f28c15a16ba6..5b13f010b7a97703685075b82ff400e78683d47f 100644 --- a/spec/services/members/create_service_spec.rb +++ b/spec/services/members/create_service_spec.rb @@ -167,12 +167,15 @@ let(:user_id) { '' } it 'does not add a member' do + expect(Gitlab::ErrorTracking) + .to receive(:log_exception) + .with(an_instance_of(described_class::BlankInvitesError), class: described_class.to_s, user_id: user.id) expect(Gitlab::EventStore) .not_to receive(:publish) .with(an_instance_of(Members::MembersAddedEvent)) expect(execute_service[:status]).to eq(:error) - expect(execute_service[:message]).to be_present + expect(execute_service[:message]).to eq(s_('AddMember|No users specified.')) expect(source.users).not_to include member expect(Onboarding::Progress.completed?(source.namespace, :user_added)).to be(false) end @@ -182,6 +185,10 @@ let(:user_id) { 1.upto(101).to_a.join(',') } it 'limits the number of users to 100' do + expect(Gitlab::ErrorTracking) + .to receive(:log_exception) + .with(an_instance_of(described_class::TooManyInvitesError), class: described_class.to_s, user_id: user.id) + expect(execute_service[:status]).to eq(:error) expect(execute_service[:message]).to be_present expect(source.users).not_to include member