aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/primary_keys_test.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-06-26 09:36:40 -0600
committerSean Griffin <sean@thoughtbot.com>2014-06-26 09:43:35 -0600
commit3bc314e65830dabd7b1c47ad1fa27be5ace0699f (patch)
treea34a12dd12aca74f837f48bdfd125830e1766744 /activerecord/test/cases/primary_keys_test.rb
parent031588ebe6b449bcba6e3becfaff6978ba10464a (diff)
downloadrails-3bc314e65830dabd7b1c47ad1fa27be5ace0699f.tar.gz
rails-3bc314e65830dabd7b1c47ad1fa27be5ace0699f.tar.bz2
rails-3bc314e65830dabd7b1c47ad1fa27be5ace0699f.zip
Move writing unknown column exception to null attribute
Making this change revealed several subtle bugs related to models with no primary key, and anonymous classes. These have been fixed as well, with regression tests added.
Diffstat (limited to 'activerecord/test/cases/primary_keys_test.rb')
-rw-r--r--activerecord/test/cases/primary_keys_test.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/activerecord/test/cases/primary_keys_test.rb b/activerecord/test/cases/primary_keys_test.rb
index f43483d291..b04df7ce43 100644
--- a/activerecord/test/cases/primary_keys_test.rb
+++ b/activerecord/test/cases/primary_keys_test.rb
@@ -134,14 +134,22 @@ class PrimaryKeysTest < ActiveRecord::TestCase
end
def test_primary_key_returns_value_if_it_exists
+ klass = Class.new(ActiveRecord::Base) do
+ self.table_name = 'developers'
+ end
+
if ActiveRecord::Base.connection.supports_primary_key?
- assert_equal 'id', ActiveRecord::Base.connection.primary_key('developers')
+ assert_equal 'id', klass.primary_key
end
end
def test_primary_key_returns_nil_if_it_does_not_exist
+ klass = Class.new(ActiveRecord::Base) do
+ self.table_name = 'developers_projects'
+ end
+
if ActiveRecord::Base.connection.supports_primary_key?
- assert_nil ActiveRecord::Base.connection.primary_key('developers_projects')
+ assert_nil klass.primary_key
end
end