mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #10714 from tkhr/extract_test_from_base_test.rb_in_AR
Extract tests code out from AR's base_test.rb
This commit is contained in:
commit
b9bbc7f81a
4 changed files with 54 additions and 45 deletions
|
@ -27,6 +27,14 @@ class AttributeMethodsTest < ActiveRecord::TestCase
|
|||
ActiveRecord::Base.send(:attribute_method_matchers).concat(@old_matchers)
|
||||
end
|
||||
|
||||
def test_attribute_for_inspect
|
||||
t = topics(:first)
|
||||
t.title = "The First Topic Now Has A Title With\nNewlines And More Than 50 Characters"
|
||||
|
||||
assert_equal %("#{t.written_on.to_s(:db)}"), t.attribute_for_inspect(:written_on)
|
||||
assert_equal '"The First Topic Now Has A Title With\nNewlines And M..."', t.attribute_for_inspect(:title)
|
||||
end
|
||||
|
||||
def test_attribute_present
|
||||
t = Topic.new
|
||||
t.title = "hello there!"
|
||||
|
|
|
@ -1228,51 +1228,6 @@ class BasicsTest < ActiveRecord::TestCase
|
|||
assert_no_queries { assert true }
|
||||
end
|
||||
|
||||
def test_inspect_class
|
||||
assert_equal 'ActiveRecord::Base', ActiveRecord::Base.inspect
|
||||
assert_equal 'LoosePerson(abstract)', LoosePerson.inspect
|
||||
assert_match(/^Topic\(id: integer, title: string/, Topic.inspect)
|
||||
end
|
||||
|
||||
def test_inspect_instance
|
||||
topic = topics(:first)
|
||||
assert_equal %(#<Topic id: 1, title: "The First Topic", author_name: "David", author_email_address: "david@loudthinking.com", written_on: "#{topic.written_on.to_s(:db)}", bonus_time: "#{topic.bonus_time.to_s(:db)}", last_read: "#{topic.last_read.to_s(:db)}", content: "Have a nice day", important: nil, approved: false, replies_count: 1, unique_replies_count: 0, parent_id: nil, parent_title: nil, type: nil, group: nil, created_at: "#{topic.created_at.to_s(:db)}", updated_at: "#{topic.updated_at.to_s(:db)}">), topic.inspect
|
||||
end
|
||||
|
||||
def test_inspect_new_instance
|
||||
assert_match(/Topic id: nil/, Topic.new.inspect)
|
||||
end
|
||||
|
||||
def test_inspect_limited_select_instance
|
||||
assert_equal %(#<Topic id: 1>), Topic.all.merge!(:select => 'id', :where => 'id = 1').first.inspect
|
||||
assert_equal %(#<Topic id: 1, title: "The First Topic">), Topic.all.merge!(:select => 'id, title', :where => 'id = 1').first.inspect
|
||||
end
|
||||
|
||||
def test_inspect_class_without_table
|
||||
assert_equal "NonExistentTable(Table doesn't exist)", NonExistentTable.inspect
|
||||
end
|
||||
|
||||
def test_attribute_for_inspect
|
||||
t = topics(:first)
|
||||
t.title = "The First Topic Now Has A Title With\nNewlines And More Than 50 Characters"
|
||||
|
||||
assert_equal %("#{t.written_on.to_s(:db)}"), t.attribute_for_inspect(:written_on)
|
||||
assert_equal '"The First Topic Now Has A Title With\nNewlines And M..."', t.attribute_for_inspect(:title)
|
||||
end
|
||||
|
||||
def test_becomes
|
||||
assert_kind_of Reply, topics(:first).becomes(Reply)
|
||||
assert_equal "The First Topic", topics(:first).becomes(Reply).title
|
||||
end
|
||||
|
||||
def test_becomes_includes_errors
|
||||
company = Company.new(:name => nil)
|
||||
assert !company.valid?
|
||||
original_errors = company.errors
|
||||
client = company.becomes(Client)
|
||||
assert_equal original_errors, client.errors
|
||||
end
|
||||
|
||||
def test_silence_sets_log_level_to_error_in_block
|
||||
original_logger = ActiveRecord::Base.logger
|
||||
|
||||
|
|
33
activerecord/test/cases/core_test.rb
Normal file
33
activerecord/test/cases/core_test.rb
Normal file
|
@ -0,0 +1,33 @@
|
|||
require 'cases/helper'
|
||||
require 'models/person'
|
||||
require 'models/topic'
|
||||
|
||||
class NonExistentTable < ActiveRecord::Base; end
|
||||
|
||||
class CoreTest < ActiveRecord::TestCase
|
||||
fixtures :topics
|
||||
|
||||
def test_inspect_class
|
||||
assert_equal 'ActiveRecord::Base', ActiveRecord::Base.inspect
|
||||
assert_equal 'LoosePerson(abstract)', LoosePerson.inspect
|
||||
assert_match(/^Topic\(id: integer, title: string/, Topic.inspect)
|
||||
end
|
||||
|
||||
def test_inspect_instance
|
||||
topic = topics(:first)
|
||||
assert_equal %(#<Topic id: 1, title: "The First Topic", author_name: "David", author_email_address: "david@loudthinking.com", written_on: "#{topic.written_on.to_s(:db)}", bonus_time: "#{topic.bonus_time.to_s(:db)}", last_read: "#{topic.last_read.to_s(:db)}", content: "Have a nice day", important: nil, approved: false, replies_count: 1, unique_replies_count: 0, parent_id: nil, parent_title: nil, type: nil, group: nil, created_at: "#{topic.created_at.to_s(:db)}", updated_at: "#{topic.updated_at.to_s(:db)}">), topic.inspect
|
||||
end
|
||||
|
||||
def test_inspect_new_instance
|
||||
assert_match(/Topic id: nil/, Topic.new.inspect)
|
||||
end
|
||||
|
||||
def test_inspect_limited_select_instance
|
||||
assert_equal %(#<Topic id: 1>), Topic.all.merge!(:select => 'id', :where => 'id = 1').first.inspect
|
||||
assert_equal %(#<Topic id: 1, title: "The First Topic">), Topic.all.merge!(:select => 'id, title', :where => 'id = 1').first.inspect
|
||||
end
|
||||
|
||||
def test_inspect_class_without_table
|
||||
assert_equal "NonExistentTable(Table doesn't exist)", NonExistentTable.inspect
|
||||
end
|
||||
end
|
|
@ -139,6 +139,19 @@ class PersistenceTest < ActiveRecord::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_becomes
|
||||
assert_kind_of Reply, topics(:first).becomes(Reply)
|
||||
assert_equal "The First Topic", topics(:first).becomes(Reply).title
|
||||
end
|
||||
|
||||
def test_becomes_includes_errors
|
||||
company = Company.new(:name => nil)
|
||||
assert !company.valid?
|
||||
original_errors = company.errors
|
||||
client = company.becomes(Client)
|
||||
assert_equal original_errors, client.errors
|
||||
end
|
||||
|
||||
def test_delete_many
|
||||
original_count = Topic.count
|
||||
Topic.delete(deleting = [1, 2])
|
||||
|
|
Loading…
Reference in a new issue