Commit ab14f92a5daa601b5dfd0b73f3424933a4d5efc0

Authored by Victor Costa
1 parent e8437fd4

Test badges for organizations

test/unit/article_test.rb
... ... @@ -189,4 +189,24 @@ class ArticleTest < ActiveSupport::TestCase
189 189 end
190 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 212 end
... ...
test/unit/comment_test.rb
... ... @@ -276,5 +276,14 @@ class CommentTest < ActiveSupport::TestCase
276 276 end
277 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 289 end
... ...