Sha256: ba89e6f7a11d292f922fa939695dd79aecf47852a034b7ac7eb96e3cc950548b
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require 'test_helper' class MeritUnitTest < ActiveSupport::TestCase test "Rule#applies? should depend on provided block" do rule = Merit::Rule.new assert rule.applies?, 'empty conditions should make rule apply' str = "string" rule.block = lambda{|obj| obj.length < 4 } assert !rule.applies?(str), 'block should make rule fail' rule.block = lambda{|obj| obj.length >= 4 } assert rule.applies?(str), 'block should make rule apply' rule.block = lambda{|obj| true } assert !rule.applies?, 'block which expects object should return false if no argument' end test "Rule#badge should get related badge or raise Merit::BadgeNotFound" do rule = Merit::Rule.new rule.badge_name = 'inexistent' assert_raise Merit::BadgeNotFound do rule.badge end badge = Badge.create(:id => 98, :name => 'test-badge-98') rule.badge_name = badge.name assert_equal Badge.find(98), rule.badge end test "Extends only meritable ActiveRecord models" do class MeritableModel < ActiveRecord::Base def self.columns; @columns ||= []; end has_merit end class OtherModels < ActiveRecord::Base def self.columns; @columns ||= []; end end assert MeritableModel.method_defined?(:points), 'Meritable model should respond to merit methods' assert !OtherModels.method_defined?(:points), 'Other models shouldn\'t respond to merit methods' end # Do we need this non-documented attribute? test "BadgesSash#set_notified! sets boolean attribute" do badge_sash = BadgesSash.new assert !badge_sash.notified_user badge_sash.set_notified! assert badge_sash.notified_user end test 'unknown ranking should raise merit exception' do class WeirdRankRules include Merit::RankRulesMethods def initialize set_rank :level => 1, :to => User, :level_name => :clown do |user| end end end assert_raises Merit::RankAttributeNotDefined do WeirdRankRules.new.check_rank_rules end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
merit-1.2.3 | test/merit_unit_test.rb |
merit-1.2.2 | test/merit_unit_test.rb |