fix tests, fixes #1173
This commit is contained in:
@@ -7,8 +7,8 @@ class Comment < ActiveRecord::Base
|
||||
has_many :votes, :class_name => "CommentVote", :dependent => :destroy
|
||||
before_validation :initialize_creator, :on => :create
|
||||
before_validation :initialize_updater
|
||||
after_save :update_last_commented_at
|
||||
after_destroy :update_last_commented_at
|
||||
after_save :update_last_commented_at_on_save
|
||||
after_destroy :update_last_commented_at_on_destroy
|
||||
attr_accessible :body, :post_id, :do_not_bump_post
|
||||
attr_accessor :do_not_bump_post
|
||||
|
||||
@@ -101,12 +101,18 @@ class Comment < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def update_last_commented_at
|
||||
if Comment.where("post_id = ?", post_id).count == 0
|
||||
def update_last_commented_at_on_destroy
|
||||
if Comment.where("post_id = ? and id <> ?", post_id, id).count == 0
|
||||
Post.update_all("last_commented_at = NULL", ["id = ?", post_id])
|
||||
elsif Comment.where("post_id = ?", post_id).count <= Danbooru.config.comment_threshold && !do_not_bump_post?
|
||||
end
|
||||
true
|
||||
end
|
||||
|
||||
def update_last_commented_at_on_save
|
||||
if Comment.where("post_id = ?", post_id).count <= Danbooru.config.comment_threshold && !do_not_bump_post?
|
||||
Post.update_all(["last_commented_at = ?", created_at], ["id = ?", post_id])
|
||||
end
|
||||
true
|
||||
end
|
||||
|
||||
def do_not_bump_post?
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
FactoryGirl.define do
|
||||
factory(:user) do
|
||||
name {rand(1_000_000).to_s}
|
||||
name {(rand(1_000_000) + 10).to_s}
|
||||
password "password"
|
||||
password_hash {User.sha1("password")}
|
||||
email {Faker::Internet.email}
|
||||
|
||||
@@ -23,7 +23,7 @@ class CommentTest < ActiveSupport::TestCase
|
||||
should "fail creation" do
|
||||
comment = FactoryGirl.build(:comment)
|
||||
comment.save
|
||||
assert_equal(["Creator can not post comments within 1 week of sign up, and can only post 5 comments per hour after that"], comment.errors.full_messages)
|
||||
assert_equal(["You can not post comments within 1 week of sign up"], comment.errors.full_messages)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -81,10 +81,11 @@ class UserTest < ActiveSupport::TestCase
|
||||
@user.update_column(:level, User::Levels::MEMBER)
|
||||
@user.update_column(:created_at, 1.year.ago)
|
||||
assert(@user.can_comment?)
|
||||
assert(!@user.is_comment_limited?)
|
||||
(Danbooru.config.member_comment_limit).times do
|
||||
FactoryGirl.create(:comment)
|
||||
end
|
||||
assert(!@user.can_comment?)
|
||||
assert(@user.is_comment_limited?)
|
||||
end
|
||||
|
||||
should "verify" do
|
||||
|
||||
Reference in New Issue
Block a user