diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2017-08-02 09:52:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-02 09:52:14 -0500 |
commit | c6974229d018b73f70e38ca8c8862473870d0274 (patch) | |
tree | 51a95d540eeece7a77c44166caa1ebf120027eba /activerecord/test/cases/transactions_test.rb | |
parent | 4c3c4182a7bde6a736c0b489276da9f77fc430f2 (diff) | |
parent | 869cb93de12141425b73f43e93f6e3730147b0ed (diff) | |
download | rails-c6974229d018b73f70e38ca8c8862473870d0274.tar.gz rails-c6974229d018b73f70e38ca8c8862473870d0274.tar.bz2 rails-c6974229d018b73f70e38ca8c8862473870d0274.zip |
Merge branch 'master' into active-storage-import
Diffstat (limited to 'activerecord/test/cases/transactions_test.rb')
-rw-r--r-- | activerecord/test/cases/transactions_test.rb | 52 |
1 files changed, 49 insertions, 3 deletions
diff --git a/activerecord/test/cases/transactions_test.rb b/activerecord/test/cases/transactions_test.rb index b771a1d12c..7fd125ab74 100644 --- a/activerecord/test/cases/transactions_test.rb +++ b/activerecord/test/cases/transactions_test.rb @@ -686,7 +686,7 @@ class TransactionTest < ActiveRecord::TestCase raise ActiveRecord::Rollback end - assert_nil movie.id + assert_nil movie.movieid end def test_assign_id_after_rollback @@ -709,8 +709,54 @@ class TransactionTest < ActiveRecord::TestCase raise ActiveRecord::Rollback end - movie.id = nil - assert_nil movie.id + movie.movieid = nil + assert_nil movie.movieid + end + + def test_read_attribute_after_rollback + topic = Topic.new + + Topic.transaction do + topic.save! + raise ActiveRecord::Rollback + end + + assert_nil topic.read_attribute(:id) + end + + def test_read_attribute_with_custom_primary_key_after_rollback + movie = Movie.new(name: "foo") + + Movie.transaction do + movie.save! + raise ActiveRecord::Rollback + end + + assert_nil movie.read_attribute(:movieid) + end + + def test_write_attribute_after_rollback + topic = Topic.create! + + Topic.transaction do + topic.save! + raise ActiveRecord::Rollback + end + + topic.write_attribute(:id, nil) + assert_nil topic.id + end + + def test_write_attribute_with_custom_primary_key_after_rollback + movie = Movie.create!(name: "foo") + + Movie.transaction do + movie.save! + raise ActiveRecord::Rollback + end + + movie.write_attribute(:movieid, nil) + assert_nil movie.movieid end def test_rollback_of_frozen_records |