Commit 4503f6c538d6e71955ead838601d33ae74dd9669
1 parent
f683bce9
Exists in
master
and in
1 other branch
New badge for comments received
Showing
2 changed files
with
14 additions
and
0 deletions
Show diff stats
lib/merit/badge_rules.rb
@@ -15,6 +15,12 @@ module Merit | @@ -15,6 +15,12 @@ module Merit | ||
15 | :to => :author, | 15 | :to => :author, |
16 | :value => lambda { |comment| comment.author.present? ? comment.author.comments.count : 0 } | 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 | :article_author => { | 24 | :article_author => { |
19 | :action => 'article#create', | 25 | :action => 'article#create', |
20 | :default_threshold => 5, | 26 | :default_threshold => 5, |
test/unit/comment_test.rb
@@ -32,6 +32,14 @@ class CommentTest < ActiveSupport::TestCase | @@ -32,6 +32,14 @@ class CommentTest < ActiveSupport::TestCase | ||
32 | assert_equal 'comment_author', person.badges.first.name | 32 | assert_equal 'comment_author', person.badges.first.name |
33 | end | 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 | should 'add badge to author when users like his comment' do | 43 | should 'add badge to author when users like his comment' do |
36 | GamificationPlugin::Badge.create!(:owner => environment, :name => 'positive_votes_received') | 44 | GamificationPlugin::Badge.create!(:owner => environment, :name => 'positive_votes_received') |
37 | GamificationPlugin.gamification_set_rules(environment) | 45 | GamificationPlugin.gamification_set_rules(environment) |