Mercurial > hg > soundsoftware-site
diff test/unit/.svn/text-base/project_test.rb.svn-base @ 119:8661b858af72
* Update to Redmine trunk rev 4705
author | Chris Cannam |
---|---|
date | Thu, 13 Jan 2011 14:12:06 +0000 |
parents | 94944d00e43c |
children | cbce1fd3b1b7 |
line wrap: on
line diff
--- a/test/unit/.svn/text-base/project_test.rb.svn-base Fri Nov 19 14:05:24 2010 +0000 +++ b/test/unit/.svn/text-base/project_test.rb.svn-base Thu Jan 13 14:12:06 2011 +0000 @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -require File.dirname(__FILE__) + '/../test_helper' +require File.expand_path('../../test_helper', __FILE__) class ProjectTest < ActiveSupport::TestCase fixtures :all @@ -60,6 +60,35 @@ assert_equal "eCookbook", @ecookbook.name end + def test_default_attributes + with_settings :default_projects_public => '1' do + assert_equal true, Project.new.is_public + assert_equal false, Project.new(:is_public => false).is_public + end + + with_settings :default_projects_public => '0' do + assert_equal false, Project.new.is_public + assert_equal true, Project.new(:is_public => true).is_public + end + + with_settings :sequential_project_identifiers => '1' do + assert !Project.new.identifier.blank? + assert Project.new(:identifier => '').identifier.blank? + end + + with_settings :sequential_project_identifiers => '0' do + assert Project.new.identifier.blank? + assert !Project.new(:identifier => 'test').blank? + end + + with_settings :default_projects_modules => ['issue_tracking', 'repository'] do + assert_equal ['issue_tracking', 'repository'], Project.new.enabled_module_names + end + + assert_equal Tracker.all, Project.new.trackers + assert_equal Tracker.find(1, 3), Project.new(:tracker_ids => [1, 3]).trackers + end + def test_update assert_equal "eCookbook", @ecookbook.name @ecookbook.name = "eCook" @@ -741,6 +770,22 @@ assert_equal @project, membership.project end end + + should "copy memberships with groups and additional roles" do + group = Group.create!(:lastname => "Copy group") + user = User.find(7) + group.users << user + # group role + Member.create!(:project_id => @source_project.id, :principal => group, :role_ids => [2]) + member = Member.find_by_user_id_and_project_id(user.id, @source_project.id) + # additional role + member.role_ids = [1] + + assert @project.copy(@source_project) + member = Member.find_by_user_id_and_project_id(user.id, @project.id) + assert_not_nil member + assert_equal [1, 2], member.role_ids.sort + end should "copy project specific queries" do assert @project.valid? @@ -853,14 +898,6 @@ should "be nil if there are no issues on the project" do assert_nil @project.start_date end - - should "be nil if issue tracking is disabled" do - Issue.generate_for_project!(@project, :start_date => Date.today) - @project.enabled_modules.find_all_by_name('issue_tracking').each {|m| m.destroy} - @project.reload - - assert_nil @project.start_date - end should "be tested when issues have no start date" @@ -884,14 +921,6 @@ should "be nil if there are no issues on the project" do assert_nil @project.due_date end - - should "be nil if issue tracking is disabled" do - Issue.generate_for_project!(@project, :due_date => Date.today) - @project.enabled_modules.find_all_by_name('issue_tracking').each {|m| m.destroy} - @project.reload - - assert_nil @project.due_date - end should "be tested when issues have no due date"