Commit ab14f92a5daa601b5dfd0b73f3424933a4d5efc0
1 parent
e8437fd4
Exists in
master
and in
1 other branch
Test badges for organizations
Showing
2 changed files
with
29 additions
and
0 deletions
Show diff stats
test/unit/article_test.rb
@@ -189,4 +189,24 @@ class ArticleTest < ActiveSupport::TestCase | @@ -189,4 +189,24 @@ class ArticleTest < ActiveSupport::TestCase | ||
189 | end | 189 | end |
190 | end | 190 | end |
191 | 191 | ||
192 | + should "add organization's merit badge to author when create 5 new articles" do | ||
193 | + organization = fast_create(Organization) | ||
194 | + GamificationPlugin::Badge.create!(:owner => organization, :name => 'article_author', :level => 1) | ||
195 | + GamificationPlugin.gamification_set_rules(environment) | ||
196 | + | ||
197 | + 5.times { create(TextArticle, :profile_id => organization.id, :author => person) } | ||
198 | + assert_equal 'article_author', person.badges.first.name | ||
199 | + assert_equal 1, person.badges.first.level | ||
200 | + end | ||
201 | + | ||
202 | + should "do not earn organization's badge when the article is not posted in the organization itself" do | ||
203 | + organization = fast_create(Organization) | ||
204 | + other_organization = fast_create(Organization) | ||
205 | + GamificationPlugin::Badge.create!(:owner => organization, :name => 'article_author', :level => 1) | ||
206 | + GamificationPlugin.gamification_set_rules(environment) | ||
207 | + | ||
208 | + 5.times { create(TextArticle, :profile_id => other_organization.id, :author => person) } | ||
209 | + assert_equal [], person.badges | ||
210 | + end | ||
211 | + | ||
192 | end | 212 | end |
test/unit/comment_test.rb
@@ -276,5 +276,14 @@ class CommentTest < ActiveSupport::TestCase | @@ -276,5 +276,14 @@ class CommentTest < ActiveSupport::TestCase | ||
276 | end | 276 | end |
277 | end | 277 | end |
278 | 278 | ||
279 | + should "add organization's merit badge to author when create 5 new comments" do | ||
280 | + organization = fast_create(Organization) | ||
281 | + GamificationPlugin::Badge.create!(:owner => organization, :name => 'comment_author') | ||
282 | + GamificationPlugin.gamification_set_rules(environment) | ||
283 | + article.profile = organization | ||
284 | + | ||
285 | + 5.times { create(Comment, :source => article, :author_id => person.id) } | ||
286 | + assert_equal 'comment_author', person.badges.first.name | ||
287 | + end | ||
279 | 288 | ||
280 | end | 289 | end |