Commit 048f746d6b8a2d61821bf8c710be04d13382d273
1 parent
a1febfd2
Exists in
master
and in
1 other branch
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 | 44 | assert_equal 1, profile.gamification_plugin_calculate_level |
| 45 | 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 | 59 | should 'update profile level when the score changes' do |
| 48 | 60 | create_point_rule_definition('article_author') |
| 49 | 61 | community = fast_create(Community) | ... | ... |