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
|
has_many :votes, :class_name => "CommentVote", :dependent => :destroy
|
||||||
before_validation :initialize_creator, :on => :create
|
before_validation :initialize_creator, :on => :create
|
||||||
before_validation :initialize_updater
|
before_validation :initialize_updater
|
||||||
after_save :update_last_commented_at
|
after_save :update_last_commented_at_on_save
|
||||||
after_destroy :update_last_commented_at
|
after_destroy :update_last_commented_at_on_destroy
|
||||||
attr_accessible :body, :post_id, :do_not_bump_post
|
attr_accessible :body, :post_id, :do_not_bump_post
|
||||||
attr_accessor :do_not_bump_post
|
attr_accessor :do_not_bump_post
|
||||||
|
|
||||||
@@ -101,12 +101,18 @@ class Comment < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_last_commented_at
|
def update_last_commented_at_on_destroy
|
||||||
if Comment.where("post_id = ?", post_id).count == 0
|
if Comment.where("post_id = ? and id <> ?", post_id, id).count == 0
|
||||||
Post.update_all("last_commented_at = NULL", ["id = ?", post_id])
|
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])
|
Post.update_all(["last_commented_at = ?", created_at], ["id = ?", post_id])
|
||||||
end
|
end
|
||||||
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
def do_not_bump_post?
|
def do_not_bump_post?
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory(:user) do
|
factory(:user) do
|
||||||
name {rand(1_000_000).to_s}
|
name {(rand(1_000_000) + 10).to_s}
|
||||||
password "password"
|
password "password"
|
||||||
password_hash {User.sha1("password")}
|
password_hash {User.sha1("password")}
|
||||||
email {Faker::Internet.email}
|
email {Faker::Internet.email}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ class CommentTest < ActiveSupport::TestCase
|
|||||||
should "fail creation" do
|
should "fail creation" do
|
||||||
comment = FactoryGirl.build(:comment)
|
comment = FactoryGirl.build(:comment)
|
||||||
comment.save
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -81,10 +81,11 @@ class UserTest < ActiveSupport::TestCase
|
|||||||
@user.update_column(:level, User::Levels::MEMBER)
|
@user.update_column(:level, User::Levels::MEMBER)
|
||||||
@user.update_column(:created_at, 1.year.ago)
|
@user.update_column(:created_at, 1.year.ago)
|
||||||
assert(@user.can_comment?)
|
assert(@user.can_comment?)
|
||||||
|
assert(!@user.is_comment_limited?)
|
||||||
(Danbooru.config.member_comment_limit).times do
|
(Danbooru.config.member_comment_limit).times do
|
||||||
FactoryGirl.create(:comment)
|
FactoryGirl.create(:comment)
|
||||||
end
|
end
|
||||||
assert(!@user.can_comment?)
|
assert(@user.is_comment_limited?)
|
||||||
end
|
end
|
||||||
|
|
||||||
should "verify" do
|
should "verify" do
|
||||||
|
|||||||
Reference in New Issue
Block a user