Add tests for noter:<any|none>, comm:<any|none> metatags.
This commit is contained in:
@@ -14,8 +14,8 @@ class Comment < ActiveRecord::Base
|
||||
after_update(:if => lambda {|rec| CurrentUser.id != rec.creator_id}) do |rec|
|
||||
ModAction.log("comment ##{rec.id} updated by #{CurrentUser.name}")
|
||||
end
|
||||
after_update :update_last_commented_at_on_destroy, :if => lambda {|rec| rec.is_deleted? && rec.is_deleted_changed?}
|
||||
after_update(:if => lambda {|rec| rec.is_deleted? && rec.is_deleted_changed? && CurrentUser.id != rec.creator_id}) do |rec|
|
||||
after_save :update_last_commented_at_on_destroy, :if => lambda {|rec| rec.is_deleted? && rec.is_deleted_changed?}
|
||||
after_save(:if => lambda {|rec| rec.is_deleted? && rec.is_deleted_changed? && CurrentUser.id != rec.creator_id}) do |rec|
|
||||
ModAction.log("comment ##{rec.id} deleted by #{CurrentUser.name}")
|
||||
end
|
||||
attr_accessible :body, :post_id, :do_not_bump_post, :is_deleted, :as => [:member, :gold, :platinum, :builder, :janitor, :moderator, :admin]
|
||||
@@ -171,13 +171,13 @@ class Comment < ActiveRecord::Base
|
||||
include VoteMethods
|
||||
|
||||
def initialize_creator
|
||||
self.creator_id = CurrentUser.user.id
|
||||
self.ip_addr = CurrentUser.ip_addr
|
||||
self.creator_id ||= CurrentUser.user.id
|
||||
self.ip_addr ||= CurrentUser.ip_addr
|
||||
end
|
||||
|
||||
def initialize_updater
|
||||
self.updater_id = CurrentUser.user.id
|
||||
self.updater_ip_addr = CurrentUser.ip_addr
|
||||
self.updater_id ||= CurrentUser.user.id
|
||||
self.updater_ip_addr ||= CurrentUser.ip_addr
|
||||
end
|
||||
|
||||
def creator_name
|
||||
|
||||
@@ -1788,6 +1788,24 @@ class PostTest < ActiveSupport::TestCase
|
||||
assert_tag_match([posts[2]], "approver:none")
|
||||
end
|
||||
|
||||
should "return posts for the commenter:<name> metatag" do
|
||||
users = FactoryGirl.create_list(:user, 2, created_at: 2.weeks.ago)
|
||||
posts = FactoryGirl.create_list(:post, 2)
|
||||
comms = users.zip(posts).map { |u, p| FactoryGirl.create(:comment, creator: u, post: p) }
|
||||
|
||||
assert_tag_match([posts[0]], "commenter:#{users[0].name}")
|
||||
assert_tag_match([posts[1]], "commenter:#{users[1].name}")
|
||||
end
|
||||
|
||||
should "return posts for the commenter:<any|none> metatag" do
|
||||
posts = FactoryGirl.create_list(:post, 2)
|
||||
FactoryGirl.create(:comment, post: posts[0], is_deleted: false)
|
||||
FactoryGirl.create(:comment, post: posts[1], is_deleted: true)
|
||||
|
||||
assert_tag_match([posts[0]], "commenter:any")
|
||||
assert_tag_match([posts[1]], "commenter:none")
|
||||
end
|
||||
|
||||
should "return posts for the noter:<name> metatag" do
|
||||
users = FactoryGirl.create_list(:user, 2)
|
||||
posts = FactoryGirl.create_list(:post, 2)
|
||||
@@ -1797,6 +1815,15 @@ class PostTest < ActiveSupport::TestCase
|
||||
assert_tag_match([posts[1]], "noter:#{users[1].name}")
|
||||
end
|
||||
|
||||
should "return posts for the noter:<any|none> metatag" do
|
||||
posts = FactoryGirl.create_list(:post, 2)
|
||||
FactoryGirl.create(:note, post: posts[0], is_active: true)
|
||||
FactoryGirl.create(:note, post: posts[1], is_active: false)
|
||||
|
||||
assert_tag_match([posts[0]], "noter:any")
|
||||
assert_tag_match([posts[1]], "noter:none")
|
||||
end
|
||||
|
||||
should "return posts for the artcomm:<name> metatag" do
|
||||
users = FactoryGirl.create_list(:user, 2)
|
||||
posts = FactoryGirl.create_list(:post, 2)
|
||||
|
||||
Reference in New Issue
Block a user