File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -1035,3 +1035,26 @@ def test_change_columns_coerced
1035
1035
assert_nothing_raised { @connection . rename_column ( :group , :order , :values ) }
1036
1036
end
1037
1037
end
1038
+
1039
+
1040
+
1041
+ class OptimisticLockingTest < ActiveRecord ::TestCase
1042
+ # We do not allow updating identities, but we can test using a non-identity key
1043
+ coerce_tests! :test_update_with_dirty_primary_key
1044
+ def test_update_with_dirty_primary_key_coerced
1045
+ assert_raises ( ActiveRecord ::RecordNotUnique ) do
1046
+ record = StringKeyObject . find ( 'record1' )
1047
+ record . id = 'record2'
1048
+ record . save!
1049
+ end
1050
+
1051
+ record = StringKeyObject . find ( 'record1' )
1052
+ record . id = 'record42'
1053
+ record . save!
1054
+
1055
+ assert StringKeyObject . find ( 'record42' )
1056
+ assert_raises ( ActiveRecord ::RecordNotFound ) do
1057
+ StringKeyObject . find ( 'record1' )
1058
+ end
1059
+ end
1060
+ end
You can’t perform that action at this time.
0 commit comments