##// END OF EJS Templates
Fixed: Error deleting issue with grandchild (#8880)....
Fixed: Error deleting issue with grandchild (#8880). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6311 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r4395:17f86d964fe0
r6191:9957883c4ddf
Show More
enumeration_test.rb
111 lines | 3.3 KiB | text/x-ruby | RubyLexer
/ test / unit / enumeration_test.rb
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 # redMine - project management software
# Copyright (C) 2006-2008 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class EnumerationTest < ActiveSupport::TestCase
Eric Davis
Enumerations can now have custom fields defined on them. #4077...
r2831 fixtures :enumerations, :issues, :custom_fields, :custom_values
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544
def setup
end
def test_objects_count
# low priority
Jean-Philippe Lang
Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666)....
r3009 assert_equal 6, Enumeration.find(4).objects_count
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 # urgent
assert_equal 0, Enumeration.find(7).objects_count
end
def test_in_use
# low priority
assert Enumeration.find(4).in_use?
# urgent
assert !Enumeration.find(7).in_use?
end
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 def test_default
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 e = Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 assert e.is_a?(Enumeration)
assert e.is_default?
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 assert_equal 'Default Enumeration', e.name
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 end
def test_create
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 e = Enumeration.new(:name => 'Not default', :is_default => false)
e.type = 'Enumeration'
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 assert e.save
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 assert_equal 'Default Enumeration', Enumeration.default.name
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 end
def test_create_as_default
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 e = Enumeration.new(:name => 'Very urgent', :is_default => true)
e.type = 'Enumeration'
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 assert e.save
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 assert_equal e, Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 end
def test_update_default
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 e = Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 e.update_attributes(:name => 'Changed', :is_default => true)
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 assert_equal e, Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 end
def test_update_default_to_non_default
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 e = Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 e.update_attributes(:name => 'Changed', :is_default => false)
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 assert_nil Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 end
def test_change_default
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 e = Enumeration.find_by_name('Default Enumeration')
e.update_attributes(:name => 'Changed Enumeration', :is_default => true)
assert_equal e, Enumeration.default
Jean-Philippe Lang
Fixed: default flag removed when editing a default enumeration (#2327)....
r2121 end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 def test_destroy_with_reassign
Enumeration.find(4).destroy(Enumeration.find(6))
assert_nil Issue.find(:first, :conditions => {:priority_id => 4})
Jean-Philippe Lang
Version sharing (#465) + optional inclusion of subprojects in the roadmap view (#2666)....
r3009 assert_equal 6, Enumeration.find(6).objects_count
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end
Eric Davis
Enumerations can now have custom fields defined on them. #4077...
r2831
def test_should_be_customizable
assert Enumeration.included_modules.include?(Redmine::Acts::Customizable::InstanceMethods)
end
Eric Davis
Added project specific Enumeration overrides....
r2833 def test_should_belong_to_a_project
association = Enumeration.reflect_on_association(:project)
assert association, "No Project association found"
assert_equal :belongs_to, association.macro
end
def test_should_act_as_tree
enumeration = Enumeration.find(4)
assert enumeration.respond_to?(:parent)
assert enumeration.respond_to?(:children)
end
def test_is_override
# Defaults to off
enumeration = Enumeration.find(4)
assert !enumeration.is_override?
# Setup as an override
enumeration.parent = Enumeration.find(5)
assert enumeration.is_override?
end
Jean-Philippe Lang
Ability to remove enumerations (activities, priorities, document categories) that are in use. Associated objects can be reassigned to another value (#1467)....
r1544 end