Sha256: b206a196323f36e6f0753004c99049eaacc3f609192c4e47b47a2fea13c8f150
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require 'test_helper' class DirtyDummy < ActiveRecord::Base set_table_name 'dummies' as_enum :gender, [:male, :female], :dirty => true end class DirtyAttributesTest < ActiveSupport::TestCase def setup reload_db end test "setting using changed? on enum" do jane = DirtyDummy.create!(:gender => :female) assert_equal 1, jane.gender_cd jane.gender = :male # operation? =) assert_equal :male, jane.gender assert_equal true, jane.gender_cd_changed? assert_equal true, jane.gender_changed? end test "access old value via gender_was" do john = DirtyDummy.create!(:gender => :male) assert_equal 0, john.gender_cd john.gender = :female assert_equal :female, john.gender assert_equal 0, john.gender_cd_was assert_equal :male, john.gender_was end test "dirty methods are disabled by default (opt-in)" do no_dirty = Dummy.new assert !no_dirty.respond_to?(:gender_was), "should not respond_to :gender_was" assert !no_dirty.respond_to?(:gender_changed?), "should not respond_to :gender_changed?" assert !no_dirty.respond_to?(:word_was), "should not respond_to :word_was" assert !no_dirty.respond_to?(:word_changed?), "should not respond_to :word_changed?" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_enum-1.4.1 | test/dirty_attributes_test.rb |