diff --git a/ee/app/controllers/ee/confirmations_controller.rb b/ee/app/controllers/ee/confirmations_controller.rb index 530d0020b66caf8143c1ed1c7641f26527f21127..368cd33a8f1edc6c5a1f0df247c93f8b135c70b8 100644 --- a/ee/app/controllers/ee/confirmations_controller.rb +++ b/ee/app/controllers/ee/confirmations_controller.rb @@ -9,7 +9,7 @@ module ConfirmationsController override :after_sign_in def after_sign_in(resource) - audit_changes(:email, as: 'email address', model: resource) + audit_changes(:email, as: 'email address', model: resource, event_type: 'user_email_changed_and_user_signed_in') super(resource) end diff --git a/ee/spec/requests/ee/confirmations_controller_spec.rb b/ee/spec/requests/ee/confirmations_controller_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..4af4c7cad0bd53576e8e8a2506b5d30a71df88bd --- /dev/null +++ b/ee/spec/requests/ee/confirmations_controller_spec.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe ConfirmationsController, type: :request, + feature_category: :authentication_and_authorization do + describe "GET #show" do + let_it_be_with_reload(:user) { create(:user, :unconfirmed) } + let(:confirmation_token) { user.confirmation_token } + + subject(:perform_request) do + get user_confirmation_path, params: { confirmation_token: confirmation_token } + end + + context "when user is signed in" do + before do + sign_in(user) + end + + it "sets event_type" do + expect_next_instance_of(described_class) do |controller| + expect(controller).to receive(:audit_changes).with(:email, + hash_including(event_type: 'user_email_changed_and_user_signed_in')) + end + + perform_request + end + end + end +end