diff --git a/test/test_helper.rb b/test/test_helper.rb index 143d3af..bee7a12 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,12 +1,34 @@ require_relative "../../../test/test_helper" -def create_merit_categorization - c = fast_create(Community) - Merit::PointRules::AVAILABLE_RULES.each do |name, setting| - point_type = GamificationPlugin::PointsType.find_by_name name - point_type = GamificationPlugin::PointsType.create name: name, description: setting['description'] if point_type.nil? - profile = setting.fetch(:profile_action, true) ? c : nil - GamificationPlugin::PointsCategorization.create! point_type_id: point_type.id, profile: profile, weight: setting[:default_weight] +def create_point_rule_definition(rule_name, profile = nil, config = {}) + rule = load_point_rule(rule_name, config) + point_type = GamificationPlugin::PointsType.find_by_name rule_name + point_type = GamificationPlugin::PointsType.create name: rule_name, description: rule['description'] if point_type.nil? + GamificationPlugin::PointsCategorization.create! point_type_id: point_type.id, profile: profile, weight: rule[:default_weight] + GamificationPlugin.gamification_set_rules(@environment) +end + +def create_all_point_rules + Merit::PointRules::AVAILABLE_RULES.map do |rule, config| + create_point_rule_definition(rule) + end +end + +def load_point_rule(rule_name, config) + rule_config = Merit::PointRules::AVAILABLE_RULES[rule_name.to_sym] + raise "Point rule '#{rule_name}' is not available" if rule_config.nil? + rule_config.merge!(config) + rule_config +end + +#person_points_debug(person) +def person_points_debug(person) + person.score_points.map do |sp| + puts 'Ponto:' + puts sp.inspect + puts sp.action.inspect + puts sp.score.inspect + puts GamificationPlugin::PointsCategorization.find(sp.score.category).inspect + puts GamificationPlugin::PointsCategorization.find(sp.score.category).point_type.inspect end - c -end# +end diff --git a/test/unit/api_test.rb b/test/unit/api_test.rb index d9097ff..a9ac478 100644 --- a/test/unit/api_test.rb +++ b/test/unit/api_test.rb @@ -7,7 +7,6 @@ class APITest < ActiveSupport::TestCase login_api environment = Environment.default environment.enable_plugin(GamificationPlugin) - @community = create_merit_categorization GamificationPlugin.gamification_set_rules(@environment) end diff --git a/test/unit/article_follower.rb b/test/unit/article_follower.rb index d36eccb..bfeecdb 100644 --- a/test/unit/article_follower.rb +++ b/test/unit/article_follower.rb @@ -5,21 +5,47 @@ class ArticleTest < ActiveSupport::TestCase def setup @person = create_user('testuser').person @environment = Environment.default - @community = create_merit_categorization - GamificationPlugin.gamification_set_rules(@environment) + @community = fast_create(Community) end attr_accessor :person, :environment, :community should 'add merit points to follower when it follows an article' do - article = create(TextArticle, :profile_id => community.id, :author => person) + create_point_rule_definition('follower') + article = create(TextArticle, :profile_id => community.id, :author => create_user('someuser').person) amount = person.score_points.count article.person_followers << person -puts person.score_points.first.action.inspect + article.reload assert_equal amount + 1, person.score_points.count - assert person.score_points.first.action.present? + last_point = person.score_points.last + assert_equal article.article_followers.last.id, last_point.action.target_id end + should "add merit points for article's author followed by an user" do + create_point_rule_definition('followed_article_author') + author = create_user('someuser').person + article = create(TextArticle, :profile_id => community.id, :author => author) + amount = author.score_points.count + article.person_followers << person + assert_equal amount + 1, author.score_points.count + last_point = author.score_points.last + assert_equal article.article_followers.last.id, last_point.action.target_id + end + + should "add merit points for article's author and person who follow an article at the same time" do + create_point_rule_definition('follower') + create_point_rule_definition('followed_article_author') + author = create_user('someuser').person + article = create(TextArticle, :profile_id => community.id, :author => author) + amount = author.score_points.count + article.person_followers << person + assert_equal amount + 1, author.score_points.count + last_point = author.score_points.last + assert_equal article.article_followers.last.id, last_point.action.target_id + assert_equal amount + 1, person.score_points.count + last_point = person.score_points.last + assert_equal article.article_followers.last.id, last_point.action.target_id + end # should 'subtract merit points to author when destroy an article' do # article = create(TextArticle, :profile_id => @community.id, :author => person) # assert_equal 1, person.score_points.count diff --git a/test/unit/article_test.rb b/test/unit/article_test.rb index 9b5e052..93227c1 100644 --- a/test/unit/article_test.rb +++ b/test/unit/article_test.rb @@ -5,20 +5,20 @@ class ArticleTest < ActiveSupport::TestCase def setup @person = create_user('testuser').person @environment = Environment.default - @community = create_merit_categorization - GamificationPlugin.gamification_set_rules(@environment) end - attr_accessor :person, :environment, :community + attr_accessor :person, :environment should 'add merit points to author when create a new article' do - create(TextArticle, :profile_id => community.id, :author => person) + create_point_rule_definition('article_author') + create(TextArticle, :profile_id => person.id, :author => person) assert_equal 1, person.score_points.count assert person.score_points.first.action.present? end should 'subtract merit points to author when destroy an article' do - article = create(TextArticle, :profile_id => @community.id, :author => person) + create_point_rule_definition('article_author') + article = create(TextArticle, :profile_id => person.id, :author => person) assert_equal 1, person.score_points.count article.destroy assert_equal 2, person.score_points.count @@ -45,43 +45,50 @@ class ArticleTest < ActiveSupport::TestCase end should 'add merit points to community article owner when an user like it' do - article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) + create_point_rule_definition('vote_voteable_author') + community = fast_create(Community) + article = create(TextArticle, :name => 'Test', :profile => community, :author => person) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).where(profile_id: @community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).first assert_difference 'article.author.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => article, :vote => 1) end end should 'add merit points to article when an user like it' do - article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) + create_point_rule_definition('vote_voteable') + article = create(TextArticle, :name => 'Test', :profile => person, :author => person) article = article.reload - c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable).where(profile_id: @community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable).first assert_difference 'article.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => article, :vote => 1) end end should 'add merit points to community when create a new article' do + create_point_rule_definition('article_community') + community = fast_create(Community) assert_difference 'community.score_points.count' do - create(TextArticle, :profile_id => @community.id, :author => person) + create(TextArticle, :profile_id => community.id, :author => person) end end should 'add merit points to voter when he likes an article' do - article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) + create_point_rule_definition('vote_voter') + article = create(TextArticle, :name => 'Test', :profile => person, :author => person) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: @community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).first assert_difference 'article.author.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => article, :vote => 1) end end should 'add merit points to voter when he dislikes an article' do - article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) + create_point_rule_definition('vote_voter') + article = create(TextArticle, :name => 'Test', :profile => person, :author => person) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: @community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).first assert_difference 'article.author.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => article, :vote => -1) end @@ -111,4 +118,108 @@ class ArticleTest < ActiveSupport::TestCase assert_equal 'negative_votes_received', person.reload.badges.first.name end +# FIXME Put the tests above to works in profile context. +# They are the same tests of the general context +# +# should 'add merit points to author when create a new article' do +# create(TextArticle, :profile_id => community.id, :author => person) +# assert_equal 1, person.score_points.count +# assert person.score_points.first.action.present? +# end +# +# should 'subtract merit points to author when destroy an article' do +# article = create(TextArticle, :profile_id => @community.id, :author => person) +# assert_equal 1, person.score_points.count +# article.destroy +# assert_equal 2, person.score_points.count +# assert_equal 0, person.points +# end +# +# should 'add merit badge to author when create 5 new articles' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'article_author', :level => 1) +# GamificationPlugin.gamification_set_rules(environment) +# +# 5.times { create(TextArticle, :profile_id => person.id, :author => person) } +# assert_equal 'article_author', person.badges.first.name +# assert_equal 1, person.badges.first.level +# end +# +# should 'add merit badge level 2 to author when create 10 new articles' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'article_author', :level => 1) +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'article_author', :level => 2, :custom_fields => {:threshold => 10}) +# GamificationPlugin.gamification_set_rules(environment) +# +# 10.times { create(TextArticle, :profile_id => person.id, :author => person) } +# assert_equal ['article_author'], person.badges.map(&:name).uniq +# assert_equal [1, 2], person.badges.map(&:level) +# end +# +# should 'add merit points to community article owner when an user like it' do +# article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).where(profile_id: @community.id).first +# assert_difference 'article.author.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => article, :vote => 1) +# end +# end +# +# should 'add merit points to article when an user like it' do +# article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) +# article = article.reload +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable).where(profile_id: @community.id).first +# assert_difference 'article.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => article, :vote => 1) +# end +# end +# +# should 'add merit points to community when create a new article' do +# assert_difference 'community.score_points.count' do +# create(TextArticle, :profile_id => @community.id, :author => person) +# end +# end +# +# should 'add merit points to voter when he likes an article' do +# article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: @community.id).first +# assert_difference 'article.author.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => article, :vote => 1) +# end +# end +# +# should 'add merit points to voter when he dislikes an article' do +# article = create(TextArticle, :name => 'Test', :profile => @community, :author => person) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: @community.id).first +# assert_difference 'article.author.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => article, :vote => -1) +# end +# end +# +# should 'add badge to author when users like his article' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'positive_votes_received') +# GamificationPlugin.gamification_set_rules(environment) +# +# article = create(TextArticle, :name => 'Test', :profile => person, :author => person) +# 4.times { Vote.create!(:voter => fast_create(Person), :voteable => article, :vote => 1) } +# Vote.create!(:voter => fast_create(Person), :voteable => article, :vote => -1) +# assert_equal [], person.badges +# Vote.create!(:voter => fast_create(Person), :voteable => article, :vote => 1) +# assert_equal 'positive_votes_received', person.reload.badges.first.name +# end +# +# should 'add badge to author when users dislike his article' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'negative_votes_received') +# GamificationPlugin.gamification_set_rules(environment) +# +# article = create(TextArticle, :name => 'Test', :profile => person, :author => person) +# 4.times { Vote.create!(:voter => fast_create(Person), :voteable => article, :vote => -1) } +# Vote.create!(:voter => fast_create(Person), :voteable => article, :vote => 1) +# assert_equal [], person.badges +# Vote.create!(:voter => fast_create(Person), :voteable => article, :vote => -1) +# assert_equal 'negative_votes_received', person.reload.badges.first.name +# end +# + end diff --git a/test/unit/comment_test.rb b/test/unit/comment_test.rb index 90fea3b..c4b217a 100644 --- a/test/unit/comment_test.rb +++ b/test/unit/comment_test.rb @@ -5,19 +5,19 @@ class CommentTest < ActiveSupport::TestCase def setup @person = create_user('testuser').person @author = create_user('testauthoruser').person - @community = create_merit_categorization - @article = create(TextileArticle, :profile_id => @community.id, :author_id => @author.id) + @article = create(TextileArticle, :profile_id => @person.id, :author_id => @author.id) @environment = Environment.default - GamificationPlugin.gamification_set_rules(@environment) end - attr_accessor :person, :article, :environment, :author, :community + attr_accessor :person, :article, :environment, :author should 'add merit points to author when create a new comment' do + create_point_rule_definition('comment_author') create(Comment, :source => article, :author_id => person.id) assert_equal 1, person.score_points.count end should 'subtract merit points from author when destroy a comment' do + create_point_rule_definition('comment_author') comment = create(Comment, :source => article, :author_id => person.id) assert_equal 1, person.score_points.count comment.destroy @@ -66,79 +66,225 @@ class CommentTest < ActiveSupport::TestCase end should 'add merit points to comment owner when an user like his comment' do + create_point_rule_definition('vote_voteable_author') comment = create(Comment, :source => article, :author_id => person.id) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).where(profile_id: article.profile.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).first assert_difference 'comment.author.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => comment, :vote => 1) end end should 'subtract merit points to comment owner when an user unlike his comment' do + create_point_rule_definition('vote_voteable_author') comment = create(Comment, :source => article, :author_id => author.id) Vote.create!(:voter => person, :voteable => comment, :vote => 1) - assert_difference 'comment.author.points', -20 do + c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).first + assert_difference 'comment.author.points', -1*c.weight do Vote.where(:voteable_id => comment.id).destroy_all end end should 'subtract merit points from comment owner when an user dislike his comment' do + create_point_rule_definition('vote_voteable_author') comment = create(Comment, :source => article, :author_id => person.id) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).where(profile_id: article.profile.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).first assert_difference 'comment.author.points(:category => c.id.to_s)', -1*c.weight do Vote.create!(:voter => person, :voteable => comment, :vote => -1) end end should 'add merit points from comment owner when an user remove a dislike in his comment' do + create_point_rule_definition('vote_voteable_author') comment = create(Comment, :source => article, :author_id => author.id) Vote.create!(:voter => person, :voteable => comment, :vote => -1) - assert_difference 'comment.author.points', 20 do + c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).first + assert_difference 'comment.author.points', c.weight do Vote.where(:voteable_id => comment.id).destroy_all end end should 'add merit points to article author when create a new comment' do + create_point_rule_definition('comment_article_author') assert_difference 'author.score_points.count' do create(Comment, :source => article, :author_id => person.id) end end should 'add merit points to voter when he likes a comment' do + create_point_rule_definition('vote_voter') comment = create(Comment, :source => article, :author_id => person.id) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).first assert_difference 'comment.author.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => comment, :vote => 1) end end should 'add merit points to voter when he dislikes a comment' do + create_point_rule_definition('vote_voter') comment = create(Comment, :source => article, :author_id => person.id) - c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).first assert_difference 'comment.author.points(:category => c.id.to_s)', c.weight do Vote.create!(:voter => person, :voteable => comment, :vote => -1) end end should 'add merit points to source article when create a comment' do - c = GamificationPlugin::PointsCategorization.for_type(:comment_article).where(profile_id: community.id).first + create_point_rule_definition('comment_article') + c = GamificationPlugin::PointsCategorization.for_type(:comment_article).first assert_difference 'article.points(:category => c.id.to_s)', c.weight do create(Comment, :source => article, :author_id => person.id) end end should 'add merit points to source community when create a comment' do + create_point_rule_definition('comment_community') + community = fast_create(Community) article = create(TextileArticle, :profile_id => community.id, :author_id => author.id) - c = GamificationPlugin::PointsCategorization.for_type(:comment_community).where(profile_id: community.id).first + c = GamificationPlugin::PointsCategorization.for_type(:comment_community).first assert_difference 'community.points(:category => c.id.to_s)', c.weight do create(Comment, :source => article, :author_id => person.id) end end + +# FIXME Put the tests above to works in profile context. +# They are the same tests of the general context +# +# should 'add merit points to author when create a new comment' do +# create(Comment, :source => article, :author_id => person.id) +# assert_equal 1, person.score_points.count +# end +# +# should 'subtract merit points from author when destroy a comment' do +# comment = create(Comment, :source => article, :author_id => person.id) +# assert_equal 1, person.score_points.count +# comment.destroy +# assert_equal 2, person.score_points.count +# assert_equal 0, person.points +# end +# +# should 'add merit badge to author when create 5 new comments' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'comment_author') +# GamificationPlugin.gamification_set_rules(environment) +# +# 5.times { create(Comment, :source => article, :author_id => person.id) } +# assert_equal 'comment_author', person.badges.first.name +# end +# +# should 'add merit badge to source author when create 5 new comments' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'comment_received') +# GamificationPlugin.gamification_set_rules(environment) +# +# 5.times { create(Comment, :source => article, :author_id => person.id) } +# assert_equal 'comment_received', author.badges.first.name +# end +# +# should 'add badge to author when users like his comment' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'positive_votes_received') +# GamificationPlugin.gamification_set_rules(environment) +# +# comment = create(Comment, :source => article, :author_id => person.id) +# 4.times { Vote.create!(:voter => fast_create(Person), :voteable => comment, :vote => 1) } +# Vote.create!(:voter => fast_create(Person), :voteable => comment, :vote => -1) +# assert_equal [], person.badges +# Vote.create!(:voter => fast_create(Person), :voteable => comment, :vote => 1) +# assert_equal 'positive_votes_received', person.reload.badges.first.name +# end +# +# should 'add badge to author when users dislike his comment' do +# GamificationPlugin::Badge.create!(:owner => environment, :name => 'negative_votes_received') +# GamificationPlugin.gamification_set_rules(environment) +# +# comment = create(Comment, :source => article, :author_id => person.id) +# 4.times { Vote.create!(:voter => fast_create(Person), :voteable => comment, :vote => -1) } +# Vote.create!(:voter => fast_create(Person), :voteable => comment, :vote => 1) +# assert_equal [], person.badges +# Vote.create!(:voter => fast_create(Person), :voteable => comment, :vote => -1) +# assert_equal 'negative_votes_received', person.reload.badges.first.name +# end +# +# should 'add merit points to comment owner when an user like his comment' do +# comment = create(Comment, :source => article, :author_id => person.id) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).where(profile_id: article.profile.id).first +# assert_difference 'comment.author.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => comment, :vote => 1) +# end +# end +# +# should 'subtract merit points to comment owner when an user unlike his comment' do +# comment = create(Comment, :source => article, :author_id => author.id) +# Vote.create!(:voter => person, :voteable => comment, :vote => 1) +# +# assert_difference 'comment.author.points', -20 do +# Vote.where(:voteable_id => comment.id).destroy_all +# end +# end +# +# should 'subtract merit points from comment owner when an user dislike his comment' do +# comment = create(Comment, :source => article, :author_id => person.id) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voteable_author).where(profile_id: article.profile.id).first +# assert_difference 'comment.author.points(:category => c.id.to_s)', -1*c.weight do +# Vote.create!(:voter => person, :voteable => comment, :vote => -1) +# end +# end +# +# should 'add merit points from comment owner when an user remove a dislike in his comment' do +# comment = create(Comment, :source => article, :author_id => author.id) +# Vote.create!(:voter => person, :voteable => comment, :vote => -1) +# +# assert_difference 'comment.author.points', 20 do +# Vote.where(:voteable_id => comment.id).destroy_all +# end +# end +# +# should 'add merit points to article author when create a new comment' do +# assert_difference 'author.score_points.count' do +# create(Comment, :source => article, :author_id => person.id) +# end +# end +# +# should 'add merit points to voter when he likes a comment' do +# comment = create(Comment, :source => article, :author_id => person.id) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: community.id).first +# assert_difference 'comment.author.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => comment, :vote => 1) +# end +# end +# +# should 'add merit points to voter when he dislikes a comment' do +# comment = create(Comment, :source => article, :author_id => person.id) +# +# c = GamificationPlugin::PointsCategorization.for_type(:vote_voter).where(profile_id: community.id).first +# assert_difference 'comment.author.points(:category => c.id.to_s)', c.weight do +# Vote.create!(:voter => person, :voteable => comment, :vote => -1) +# end +# end +# +# should 'add merit points to source article when create a comment' do +# c = GamificationPlugin::PointsCategorization.for_type(:comment_article).where(profile_id: community.id).first +# assert_difference 'article.points(:category => c.id.to_s)', c.weight do +# create(Comment, :source => article, :author_id => person.id) +# end +# end +# +# should 'add merit points to source community when create a comment' do +# article = create(TextileArticle, :profile_id => community.id, :author_id => author.id) +# +# c = GamificationPlugin::PointsCategorization.for_type(:comment_community).where(profile_id: community.id).first +# assert_difference 'community.points(:category => c.id.to_s)', c.weight do +# create(Comment, :source => article, :author_id => person.id) +# end +# end +# + end diff --git a/test/unit/person_test.rb b/test/unit/person_test.rb index b865ad1..9bac5bc 100644 --- a/test/unit/person_test.rb +++ b/test/unit/person_test.rb @@ -4,8 +4,6 @@ class PersonTest < ActiveSupport::TestCase def setup @environment = Environment.default - create_merit_categorization - GamificationPlugin.gamification_set_rules(@environment) @person = create_user('testuser').person end attr_accessor :environment, :person @@ -29,6 +27,7 @@ class PersonTest < ActiveSupport::TestCase end should 'add points when add someone as a friendly' do + create_point_rule_definition('friends') other_person = create_user("testuserfriend").person person.add_friend(other_person) c = GamificationPlugin::PointsCategorization.for_type(:friends).first diff --git a/test/unit/point_rules_test.rb b/test/unit/point_rules_test.rb index f5ffcd7..c2597e6 100644 --- a/test/unit/point_rules_test.rb +++ b/test/unit/point_rules_test.rb @@ -4,16 +4,15 @@ class PointRulesTest < ActiveSupport::TestCase def setup @environment = Environment.default - create_merit_categorization @point_rules = Merit::PointRules.new(@environment) end attr_accessor :environment, :point_rules - #should 'not define rules when environment is nil' do - #point_rules = Merit::PointRules.new - #assert point_rules.defined_rules.blank? - #end + should 'not define rules when environment is nil' do + point_rules = Merit::PointRules.new + assert point_rules.defined_rules.blank? + end should 'define rules when environment is present' do assert point_rules.defined_rules.present? diff --git a/test/unit/profile_test.rb b/test/unit/profile_test.rb index 1e1966b..3174bab 100644 --- a/test/unit/profile_test.rb +++ b/test/unit/profile_test.rb @@ -45,7 +45,8 @@ class ProfileTest < ActiveSupport::TestCase end should 'update profile level when the score changes' do - community = create_merit_categorization + create_point_rule_definition('article_author') + community = fast_create(Community) GamificationPlugin.gamification_set_rules(environment) person = create_user('testuser').person -- libgit2 0.21.2