diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2009-05-30 23:30:36 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2009-05-30 23:30:36 +0000 |
commit | 62e58f26b0c6905fc0b2d79ed278ac0e4f55d793 (patch) | |
tree | 6989cbc655e9ffee0db9b7558985cd77d28b0edb /test/unit/enumeration_test.rb | |
parent | fbfb34949677c41734531a552547fb216537999f (diff) | |
download | redmine-62e58f26b0c6905fc0b2d79ed278ac0e4f55d793.tar.gz redmine-62e58f26b0c6905fc0b2d79ed278ac0e4f55d793.zip |
Changed Enumerations to use a Single Table Inheritance
* Added migrations to change Enumerations to an STI relationship
* Added TimeEntryActivity model (STI)
* Added DocumentCategory model (STI)
* Added IssuePriority model (STI)
* Added Enumeration#get_subclasses to get a list of the subclasses of Enumeration
* Changed Enumeration to use the STI type field instead of the opt field
* Changed Enumeration#opt to return the old opt values but with a deprecation warning.
* Removed Enumeration::OPTIONS
* Removed the dynamic named_scopes in favor of specific named_scopes. Kept for
compatibility reasons.
* Added Enumeration#default so each subclass can easily find it's default record.
* Fixed Enumeration#default to use the STI scoping with a fake default scope for finding Enumeration's default.
* Added a 'all' named scope for getting all records in order by position.
* Added Deprecation warnings to the old named_scopes in Enumerations.
* Moved various methods off of Enumeration and onto the concrete classes
* Changed the EnumerationsController to use types
* Updated the Enumeration list template
* Added has_many relationships to the Enumeration STI classes.
* Fixes for tests.
#3007
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2777 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/enumeration_test.rb')
-rw-r--r-- | test/unit/enumeration_test.rb | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/test/unit/enumeration_test.rb b/test/unit/enumeration_test.rb index c192cee8f..14ea5e25c 100644 --- a/test/unit/enumeration_test.rb +++ b/test/unit/enumeration_test.rb @@ -38,40 +38,42 @@ class EnumerationTest < Test::Unit::TestCase end def test_default - e = Enumeration.priorities.default + e = Enumeration.default assert e.is_a?(Enumeration) assert e.is_default? - assert_equal 'Normal', e.name + assert_equal 'Default Enumeration', e.name end def test_create - e = Enumeration.new(:opt => 'IPRI', :name => 'Very urgent', :is_default => false) + e = Enumeration.new(:name => 'Not default', :is_default => false) + e.type = 'Enumeration' assert e.save - assert_equal 'Normal', Enumeration.priorities.default.name + assert_equal 'Default Enumeration', Enumeration.default.name end def test_create_as_default - e = Enumeration.new(:opt => 'IPRI', :name => 'Very urgent', :is_default => true) + e = Enumeration.new(:name => 'Very urgent', :is_default => true) + e.type = 'Enumeration' assert e.save - assert_equal e, Enumeration.priorities.default + assert_equal e, Enumeration.default end def test_update_default - e = Enumeration.priorities.default + e = Enumeration.default e.update_attributes(:name => 'Changed', :is_default => true) - assert_equal e, Enumeration.priorities.default + assert_equal e, Enumeration.default end def test_update_default_to_non_default - e = Enumeration.priorities.default + e = Enumeration.default e.update_attributes(:name => 'Changed', :is_default => false) - assert_nil Enumeration.priorities.default + assert_nil Enumeration.default end def test_change_default - e = Enumeration.find_by_name('Urgent') - e.update_attributes(:name => 'Urgent', :is_default => true) - assert_equal e, Enumeration.priorities.default + e = Enumeration.find_by_name('Default Enumeration') + e.update_attributes(:name => 'Changed Enumeration', :is_default => true) + assert_equal e, Enumeration.default end def test_destroy_with_reassign |