diff --git a/app/models/user.rb b/app/models/user.rb index 308048dfb..ac16de682 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -90,6 +90,10 @@ class User < ApplicationRecord after_save :remove_invalid_unconfirmed_emails + before_destroy do + raise "Never destroy users!" + end + def self.all_sharing_with_person(person) User.joins(:contacts).where(:contacts => {:person_id => person.id}) end diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb index 9e69b569e..47c669ba4 100644 --- a/spec/controllers/posts_controller_spec.rb +++ b/spec/controllers/posts_controller_spec.rb @@ -29,7 +29,7 @@ describe PostsController, type: :controller do msg = alice.post(:status_message, text: "Mention @{User ; #{user.diaspora_handle}}", public: true) expect(msg.mentioned_people.count).to eq(1) - user.destroy + user.close_account! get :show, params: {id: msg.id} expect(response).to be_success diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d399929b1..913e3c735 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -565,16 +565,11 @@ describe User, :type => :model do end end - describe 'account deletion' do - describe '#destroy' do - it 'removes all service connections' do - Services::Facebook.create(:access_token => 'what', :user_id => alice.id) - expect { - alice.destroy - }.to change { - alice.services.count - }.by(-1) - end + describe "#destroy" do + it "raises error" do + expect { + alice.destroy + }.to raise_error "Never destroy users!" end end