docbrown/spec/services/moderator/delete_user_spec.rb
Anna Buianova 8c58be75f5 Self-deleting user account (#4480) [deploy]
* Start with self deleting account

* Moved deleting user content and activity out of moderator hierarchy

* Added tests for the users delete services

* Tests for Users::DeleteComments

* User self-deletion (start)

* Some tests for user self-delete

* Specs for user self-deletion

* Test flash settings on users delete

* Added basic specs for the Users::DeleteJob

* Send notification when a user was destroyed

* Rename Users::DeleteJob to SelfDelete

* Change texts about self-deletion

* Fix users delete job spec

* Rescue and log exceptions while self-deleting user

* Added visible flash notices after deleting user

* Remove unneeded css for flash notice

* Fix link to a ghost account

* Remove redundant css

* Added github and twitter oauth apps links
2019-11-11 14:59:01 -05:00

28 lines
846 B
Ruby

require "rails_helper"
RSpec.describe Moderator::DeleteUser, type: :service do
let(:user) { create(:user) }
let(:admin) { create(:user, :super_admin) }
describe "delete_user" do
it "deletes user" do
described_class.call_deletion(user: user, admin: admin, user_params: {})
expect(User.find_by(id: user.id)).to be_nil
end
it "deletes user's follows" do
create(:follow, follower: user)
create(:follow, followable: user)
expect do
described_class.call_deletion(user: user, admin: admin, user_params: {})
end.to change(Follow, :count).by(-2)
end
it "deletes user's articles" do
article = create(:article, user: user)
described_class.call_deletion(user: user, admin: admin, user_params: {})
expect(Article.find_by(id: article.id)).to be_nil
end
end
end