about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/concerns/signature_verification.rb4
-rw-r--r--app/controllers/settings/profiles_controller.rb1
-rw-r--r--spec/controllers/admin/account_moderation_notes_controller_spec.rb42
3 files changed, 44 insertions, 3 deletions
diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb
index f289228d3..41aa1c8a6 100644
--- a/app/controllers/concerns/signature_verification.rb
+++ b/app/controllers/concerns/signature_verification.rb
@@ -107,9 +107,7 @@ module SignatureVerification
 
   def incompatible_signature?(signature_params)
     signature_params['keyId'].blank? ||
-      signature_params['signature'].blank? ||
-      signature_params['algorithm'].blank? ||
-      signature_params['algorithm'] != 'rsa-sha256'
+      signature_params['signature'].blank?
   end
 
   def account_from_key_id(key_id)
diff --git a/app/controllers/settings/profiles_controller.rb b/app/controllers/settings/profiles_controller.rb
index f9b003dcd..918dbc6c6 100644
--- a/app/controllers/settings/profiles_controller.rb
+++ b/app/controllers/settings/profiles_controller.rb
@@ -17,6 +17,7 @@ class Settings::ProfilesController < Settings::BaseController
       ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
       redirect_to settings_profile_path, notice: I18n.t('generic.changes_saved_msg')
     else
+      @account.build_fields
       render :show
     end
   end
diff --git a/spec/controllers/admin/account_moderation_notes_controller_spec.rb b/spec/controllers/admin/account_moderation_notes_controller_spec.rb
index ca4e55c4d..410ce6543 100644
--- a/spec/controllers/admin/account_moderation_notes_controller_spec.rb
+++ b/spec/controllers/admin/account_moderation_notes_controller_spec.rb
@@ -1,4 +1,46 @@
 require 'rails_helper'
 
 RSpec.describe Admin::AccountModerationNotesController, type: :controller do
+  render_views
+
+  let(:user) { Fabricate(:user, admin: true) }
+  let(:target_account) { Fabricate(:account) }
+
+  before do
+    sign_in user, scope: :user
+  end
+
+  describe 'POST #create' do
+    subject { post :create, params: params }
+
+    context 'when parameters are valid' do
+      let(:params) { { account_moderation_note: { target_account_id: target_account.id, content: 'test content' } } }
+
+      it 'successfully creates a note' do
+        expect { subject }.to change { AccountModerationNote.count }.by(1)
+        expect(subject).to redirect_to admin_account_path(target_account.id)
+      end
+    end
+
+    context 'when parameters are invalid' do
+      let(:params) { { account_moderation_note: { target_account_id: target_account.id, content: '' } } }
+
+      it 'falls to create a note' do
+        expect { subject }.not_to change { AccountModerationNote.count }
+        expect(subject).to render_template 'admin/accounts/show'
+      end
+    end
+  end
+
+  describe 'DELETE #destroy' do
+    subject { delete :destroy, params: { id: note.id } }
+
+    let!(:note) { Fabricate(:account_moderation_note, account: account, target_account: target_account) }
+    let(:account) { Fabricate(:account) }
+
+    it 'destroys note' do
+      expect { subject }.to change { AccountModerationNote.count }.by(-1)
+      expect(subject).to redirect_to admin_account_path(target_account.id)
+    end
+  end
 end