remove unused deletion code from user
This commit is contained in:
@@ -655,35 +655,6 @@ class User < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module DeletionMethods
|
|
||||||
def delete!
|
|
||||||
scramble_password
|
|
||||||
remove_all_favorites
|
|
||||||
rename_for_delete
|
|
||||||
end
|
|
||||||
|
|
||||||
def rename_for_delete
|
|
||||||
alt_name = "user#{id}"
|
|
||||||
n = 0
|
|
||||||
while User.where(:name => alt_name).exists?
|
|
||||||
alt_name = "user#{id}_#{n}"
|
|
||||||
n += 1
|
|
||||||
end
|
|
||||||
update_attribute(:name, alt_name)
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
def scramble_password
|
|
||||||
update_attribute(:bcrypt_password_hash, User.bcrypt(SecureRandom.hex(16)))
|
|
||||||
end
|
|
||||||
|
|
||||||
def remove_all_favorites
|
|
||||||
Post.tag_match("fav:#{name}").find_each do |post|
|
|
||||||
Favorite.remove(post, self)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
include BanMethods
|
include BanMethods
|
||||||
include NameMethods
|
include NameMethods
|
||||||
include PasswordMethods
|
include PasswordMethods
|
||||||
@@ -698,7 +669,6 @@ class User < ActiveRecord::Base
|
|||||||
include ApiMethods
|
include ApiMethods
|
||||||
include CountMethods
|
include CountMethods
|
||||||
extend SearchMethods
|
extend SearchMethods
|
||||||
include DeletionMethods
|
|
||||||
|
|
||||||
def initialize_default_image_size
|
def initialize_default_image_size
|
||||||
self.default_image_size = "large"
|
self.default_image_size = "large"
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ FactoryGirl.define do
|
|||||||
factory(:note) do
|
factory(:note) do
|
||||||
creator :factory => :user
|
creator :factory => :user
|
||||||
post
|
post
|
||||||
x 0
|
x 1
|
||||||
y 0
|
y 1
|
||||||
width 0
|
width 1
|
||||||
height 0
|
height 1
|
||||||
is_active true
|
is_active true
|
||||||
body {Faker::Lorem.sentences.join(" ")}
|
body {Faker::Lorem.sentences.join(" ")}
|
||||||
updater_id :factory => :user
|
updater_id :factory => :user
|
||||||
|
|||||||
@@ -132,9 +132,9 @@ class NoteTest < ActiveSupport::TestCase
|
|||||||
context "when notes have been vandalized by one user" do
|
context "when notes have been vandalized by one user" do
|
||||||
setup do
|
setup do
|
||||||
@vandal = FactoryGirl.create(:user)
|
@vandal = FactoryGirl.create(:user)
|
||||||
@note = FactoryGirl.create(:note, :x => 100, :y => 100)
|
@note = FactoryGirl.create(:note, :x => 5, :y => 5)
|
||||||
CurrentUser.scoped(@vandal, "127.0.0.1") do
|
CurrentUser.scoped(@vandal, "127.0.0.1") do
|
||||||
@note.update_attributes(:x => 2000, :y => 2000)
|
@note.update_attributes(:x => 10, :y => 10)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -142,8 +142,8 @@ class NoteTest < ActiveSupport::TestCase
|
|||||||
should "revert any affected notes" do
|
should "revert any affected notes" do
|
||||||
Note.undo_changes_by_user(@vandal.id)
|
Note.undo_changes_by_user(@vandal.id)
|
||||||
@note.reload
|
@note.reload
|
||||||
assert_equal(100, @note.x)
|
assert_equal(5, @note.x)
|
||||||
assert_equal(100, @note.y)
|
assert_equal(5, @note.y)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -14,29 +14,6 @@ class UserTest < ActiveSupport::TestCase
|
|||||||
CurrentUser.ip_addr = nil
|
CurrentUser.ip_addr = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
context "that has been deleted" do
|
|
||||||
setup do
|
|
||||||
@post = FactoryGirl.create(:post)
|
|
||||||
Favorite.add(@post, @user)
|
|
||||||
@user.delete!
|
|
||||||
@post.reload
|
|
||||||
end
|
|
||||||
|
|
||||||
should "rename the user" do
|
|
||||||
assert_equal("user#{@user.id}", @user.name)
|
|
||||||
end
|
|
||||||
|
|
||||||
should "remove all favorites" do
|
|
||||||
assert_equal(0, @user.favorite_count)
|
|
||||||
assert_equal(0, Favorite.for_user(@user.id).count)
|
|
||||||
assert_equal("", @post.fav_string)
|
|
||||||
end
|
|
||||||
|
|
||||||
should "reset the password" do
|
|
||||||
assert_nil(User.authenticate(@user.name, "password"))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context "favoriting a post" do
|
context "favoriting a post" do
|
||||||
setup do
|
setup do
|
||||||
@user.update_column(:favorite_count, 999)
|
@user.update_column(:favorite_count, 999)
|
||||||
|
|||||||
Reference in New Issue
Block a user