Sha256: 0a375b3f688578dee14c3f168fcc4e5fb2f8ad25266a8428f751d1a446b842f9
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 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 exception" 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 # TODO: Test and refactor: # Rule: grant_or_delete_badge(action), sash_to_badge # Badge: delete_from # MeritAction: target(to), action_user, other_target(to), target_object(model_name = nil) test "Badge#grant_to allow_multiple option" do badge = Badge.create(:id => 99, :name => 'test-badge') sash = Sash.create(:id => 99) assert_equal 0, sash.badge_ids.count assert badge.grant_to(sash) assert_equal 1, sash.badge_ids.count assert !badge.grant_to(sash) assert_equal 1, sash.badge_ids.count assert badge.grant_to(sash, :allow_multiple => true) assert_equal 2, sash.badge_ids.count end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
merit-1.0.1 | test/merit_unit_test.rb |
merit-1.0.0 | test/merit_unit_test.rb |