Commit 048f746d6b8a2d61821bf8c710be04d13382d273

Authored by Hugo Melo
1 parent a1febfd2

Add test for avoiding infinite loop scoring a profile action

Showing 1 changed file with 12 additions and 0 deletions   Show diff stats
test/unit/profile_test.rb
@@ -44,6 +44,18 @@ class ProfileTest < ActiveSupport::TestCase @@ -44,6 +44,18 @@ class ProfileTest < ActiveSupport::TestCase
44 assert_equal 1, profile.gamification_plugin_calculate_level 44 assert_equal 1, profile.gamification_plugin_calculate_level
45 end 45 end
46 46
  47 + should 'update profile level when a profile action makes a score with zero point' do
  48 + #avoid loop when the score changes by zero and
  49 + person = create_user('testuser').person
  50 + Person.any_instance.stubs(:is_profile_complete?).returns(true)
  51 + create_point_rule_definition('profile_completion', nil, {value: 0})
  52 + GamificationPlugin.gamification_set_rules(environment)
  53 + assert_equal 0, person.level
  54 + assert_nothing_raised do
  55 + person.save
  56 + end
  57 + end
  58 +
47 should 'update profile level when the score changes' do 59 should 'update profile level when the score changes' do
48 create_point_rule_definition('article_author') 60 create_point_rule_definition('article_author')
49 community = fast_create(Community) 61 community = fast_create(Community)