Sha256: 95b85df4871cf5d387a8f9c5b27e0aef577e90246fc6d2915859b1aa40622276

Contents?: true

Size: 917 Bytes

Versions: 15

Compression:

Stored size: 917 Bytes

Contents

$: << File.expand_path(File.dirname(__FILE__) + '/../lib')

require 'test/unit'
require 'valuable.rb'

class Infrastructure < Valuable
end

class BadAttributesTest < Test::Unit::TestCase

  def test_that_has_value_grumbles_when_it_gets_bad_attributes
    assert_raises ArgumentError do
      Infrastructure.has_value :fu, :invalid => 'shut your mouth'
    end
  end

  def test_that_valid_arguments_cause_no_grumbling
    assert_nothing_raised do
      Infrastructure.has_value :bar, :klass => Integer
    end
  end

  def test_that_invalid_attributes_raise
    assert_raises ArgumentError do
      model = Class.new(Valuable)
      model.new(:invalid => 'should not be allowed')
    end
  end

  def test_that_invalid_attributes_can_be_ignored
    assert_nothing_raised do
      model = Class.new(Valuable) do
        acts_as_permissive 
      end
      model.new(:invalid => 'should be ignored')
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
valuable-0.9.12 test/bad_attributes_test.rb
valuable-0.9.11 test/bad_attributes_test.rb
valuable-0.9.10 test/bad_attributes_test.rb
valuable-0.9.9 test/bad_attributes_test.rb
valuable-0.9.8 test/bad_attributes_test.rb
valuable-0.9.7 test/bad_attributes_test.rb
valuable-0.9.6 test/bad_attributes_test.rb
valuable-0.9.5 test/bad_attributes_test.rb
valuable-0.9.4 test/bad_attributes_test.rb
valuable-0.9.3 test/bad_attributes_test.rb
valuable-0.9.2 test/bad_attributes_test.rb
valuable-0.9.1 test/bad_attributes_test.rb
valuable-0.9.0 test/bad_attributes_test.rb
valuable-0.8.5 test/bad_attributes_test.rb
valuable-0.8.4 test/bad_attributes_test.rb