aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorJeff Kreeftmeijer <jeff@kreeftmeijer.nl>2010-05-17 22:43:06 +0200
committerJosé Valim <jose.valim@gmail.com>2010-06-10 20:04:49 +0200
commitd93b45e8d32e3c4917c6b16bcea3a694800d2c49 (patch)
tree2a1a5daa798d838f7c9c34638a6e511a4436dfae /railties/test
parent566967eaf3a66ff6a7e31f43894e21a1940ba9e7 (diff)
downloadrails-d93b45e8d32e3c4917c6b16bcea3a694800d2c49.tar.gz
rails-d93b45e8d32e3c4917c6b16bcea3a694800d2c49.tar.bz2
rails-d93b45e8d32e3c4917c6b16bcea3a694800d2c49.zip
Rails::Generators::GeneratedAttribute: tests, cleanups and a bugfix [#4631 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/generators/generated_attribute_test.rb91
1 files changed, 81 insertions, 10 deletions
diff --git a/railties/test/generators/generated_attribute_test.rb b/railties/test/generators/generated_attribute_test.rb
index dacb06fb13..de7e4de2a6 100644
--- a/railties/test/generators/generated_attribute_test.rb
+++ b/railties/test/generators/generated_attribute_test.rb
@@ -5,36 +5,107 @@ class GeneratedAttributeTest < Rails::Generators::TestCase
include GeneratorsTestHelper
def test_field_type_returns_text_field
- %w(integer float decimal string).each do |name|
- assert_field_type name, :text_field
+ %w(integer float decimal string).each do |attribute_type|
+ assert_field_type attribute_type, :text_field
end
end
def test_field_type_returns_datetime_select
- %w(datetime timestamp).each do |name|
- assert_field_type name, :datetime_select
+ %w(datetime timestamp).each do |attribute_type|
+ assert_field_type attribute_type, :datetime_select
end
end
def test_field_type_returns_time_select
- assert_field_type 'time', :time_select
+ assert_field_type :time, :time_select
end
def test_field_type_returns_date_select
- assert_field_type 'date', :date_select
+ assert_field_type :date, :date_select
end
def test_field_type_returns_text_area
- assert_field_type 'text', :text_area
+ assert_field_type :text, :text_area
end
def test_field_type_returns_check_box
- assert_field_type 'boolean', :check_box
+ assert_field_type :boolean, :check_box
end
def test_field_type_with_unknown_type_returns_text_field
- %w(foo bar baz).each do |name|
- assert_field_type name, :text_field
+ %w(foo bar baz).each do |attribute_type|
+ assert_field_type attribute_type, :text_field
+ end
+ end
+
+ def test_default_value_is_integer
+ assert_field_default_value :integer, 1
+ end
+
+ def test_default_value_is_float
+ assert_field_default_value :float, 1.5
+ end
+
+ def test_default_value_is_decimal
+ assert_field_default_value :decimal, '9.99'
+ end
+
+ def test_default_value_is_datetime
+ %w(datetime timestamp time).each do |attribute_type|
+ assert_field_default_value attribute_type, Time.now.to_s(:db)
+ end
+ end
+
+ def test_default_value_is_date
+ assert_field_default_value :date, Date.today.to_s(:db)
+ end
+
+ def test_default_value_is_string
+ assert_field_default_value :string, 'MyString'
+ end
+
+ def test_default_value_is_text
+ assert_field_default_value :text, 'MyText'
+ end
+
+ def test_default_value_is_boolean
+ assert_field_default_value :boolean, false
+ end
+
+ def test_default_value_is_nil
+ %w(references belongs_to).each do |attribute_type|
+ assert_field_default_value attribute_type, nil
+ end
+ end
+
+ def test_default_value_is_empty_string
+ %w(foo bar baz).each do |attribute_type|
+ assert_field_default_value attribute_type, ''
+ end
+ end
+
+ def test_human_name
+ assert_equal(
+ 'Full name',
+ create_generated_attribute(:string, 'full_name').human_name
+ )
+ end
+
+ def test_reference_is_true
+ %w(references belongs_to).each do |attribute_type|
+ assert_equal(
+ true,
+ create_generated_attribute(attribute_type).reference?
+ )
+ end
+ end
+
+ def test_reference_is_false
+ %w(foo bar baz).each do |attribute_type|
+ assert_equal(
+ false,
+ create_generated_attribute(attribute_type).reference?
+ )
end
end
end