diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-12-07 19:28:47 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-12-07 19:28:47 +0000 |
commit | 5266e328c029405ab132f4fb99a5ba9bc1d6ba67 (patch) | |
tree | 77f877be19838d2da4196e3431e6c288beb608b8 /test/unit/project_test.rb | |
parent | 84bf891bb5bc71edfed3f5da75f4af98ddfc1a41 (diff) | |
download | redmine-5266e328c029405ab132f4fb99a5ba9bc1d6ba67.tar.gz redmine-5266e328c029405ab132f4fb99a5ba9bc1d6ba67.zip |
Fixes Project#shared_versions for descendants sharing (#465).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3130 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/unit/project_test.rb')
-rw-r--r-- | test/unit/project_test.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb index cbf9ce54f..748065ae7 100644 --- a/test/unit/project_test.rb +++ b/test/unit/project_test.rb @@ -317,6 +317,56 @@ class ProjectTest < ActiveSupport::TestCase assert_equal [1,2], parent.rolled_up_trackers.collect(&:id) end + + def test_shared_versions_none_sharing + p = Project.find(5) + v = Version.create!(:name => 'none_sharing', :project => p, :sharing => 'none') + assert p.shared_versions.include?(v) + assert !p.children.first.shared_versions.include?(v) + assert !p.root.shared_versions.include?(v) + assert !p.siblings.first.shared_versions.include?(v) + assert !p.root.siblings.first.shared_versions.include?(v) + end + + def test_shared_versions_descendants_sharing + p = Project.find(5) + v = Version.create!(:name => 'descendants_sharing', :project => p, :sharing => 'descendants') + assert p.shared_versions.include?(v) + assert p.children.first.shared_versions.include?(v) + assert !p.root.shared_versions.include?(v) + assert !p.siblings.first.shared_versions.include?(v) + assert !p.root.siblings.first.shared_versions.include?(v) + end + + def test_shared_versions_hierarchy_sharing + p = Project.find(5) + v = Version.create!(:name => 'hierarchy_sharing', :project => p, :sharing => 'hierarchy') + assert p.shared_versions.include?(v) + assert p.children.first.shared_versions.include?(v) + assert p.root.shared_versions.include?(v) + assert !p.siblings.first.shared_versions.include?(v) + assert !p.root.siblings.first.shared_versions.include?(v) + end + + def test_shared_versions_tree_sharing + p = Project.find(5) + v = Version.create!(:name => 'tree_sharing', :project => p, :sharing => 'tree') + assert p.shared_versions.include?(v) + assert p.children.first.shared_versions.include?(v) + assert p.root.shared_versions.include?(v) + assert p.siblings.first.shared_versions.include?(v) + assert !p.root.siblings.first.shared_versions.include?(v) + end + + def test_shared_versions_system_sharing + p = Project.find(5) + v = Version.create!(:name => 'system_sharing', :project => p, :sharing => 'system') + assert p.shared_versions.include?(v) + assert p.children.first.shared_versions.include?(v) + assert p.root.shared_versions.include?(v) + assert p.siblings.first.shared_versions.include?(v) + assert p.root.siblings.first.shared_versions.include?(v) + end def test_shared_versions parent = Project.find(1) |