Commit 4503f6c538d6e71955ead838601d33ae74dd9669

Authored by Victor Costa
1 parent f683bce9

New badge for comments received

lib/merit/badge_rules.rb
... ... @@ -15,6 +15,12 @@ module Merit
15 15 :to => :author,
16 16 :value => lambda { |comment| comment.author.present? ? comment.author.comments.count : 0 }
17 17 },
  18 + :comment_received => {
  19 + :action => 'comment#create',
  20 + :default_threshold => 5,
  21 + :to => lambda {|comment| comment.source.author},
  22 + :value => lambda { |comment| comment.source.author.present? ? Comment.where(:source_id => Article.where(:author_id => comment.source.author.id)).count : 0 }
  23 + },
18 24 :article_author => {
19 25 :action => 'article#create',
20 26 :default_threshold => 5,
... ...
test/unit/comment_test.rb
... ... @@ -32,6 +32,14 @@ class CommentTest < ActiveSupport::TestCase
32 32 assert_equal 'comment_author', person.badges.first.name
33 33 end
34 34  
  35 + should 'add merit badge to source author when create 5 new comments' do
  36 + GamificationPlugin::Badge.create!(:owner => environment, :name => 'comment_received')
  37 + GamificationPlugin.gamification_set_rules(environment)
  38 +
  39 + 5.times { create(Comment, :source => article, :author_id => person.id) }
  40 + assert_equal 'comment_received', author.badges.first.name
  41 + end
  42 +
35 43 should 'add badge to author when users like his comment' do
36 44 GamificationPlugin::Badge.create!(:owner => environment, :name => 'positive_votes_received')
37 45 GamificationPlugin.gamification_set_rules(environment)
... ...