##// END OF EJS Templates
Remove Issue.generate_for_project! test helper and use Issue.generate! instead....
Jean-Philippe Lang -
r10400:8bde60dc56e4
parent child
Show More
@@ -61,6 +61,8 module ObjectHelpers
61 61
62 62 def Issue.generate!(attributes={})
63 63 issue = Issue.new(attributes)
64 issue.project ||= Project.find(1)
65 issue.tracker ||= issue.project.trackers.first
64 66 issue.subject = 'Generated' if issue.subject.blank?
65 67 issue.author ||= User.find(2)
66 68 yield issue if block_given?
@@ -68,25 +70,12 module ObjectHelpers
68 70 issue
69 71 end
70 72
71 # Generate an issue for a project, using its trackers
72 def Issue.generate_for_project!(project, attributes={})
73 issue = Issue.new(attributes) do |issue|
74 issue.project = project
75 issue.tracker = project.trackers.first unless project.trackers.empty?
76 issue.subject = 'Generated' if issue.subject.blank?
77 issue.author ||= User.find(2)
78 yield issue if block_given?
79 end
80 issue.save!
81 issue
82 end
83
84 73 # Generates an issue with some children and a grandchild
85 74 def Issue.generate_with_descendants!(project, attributes={})
86 issue = Issue.generate_for_project!(project, attributes)
87 child = Issue.generate_for_project!(project, :subject => 'Child1', :parent_issue_id => issue.id)
88 Issue.generate_for_project!(project, :subject => 'Child2', :parent_issue_id => issue.id)
89 Issue.generate_for_project!(project, :subject => 'Child11', :parent_issue_id => child.id)
75 issue = Issue.generate!(attributes.merge(:project => project))
76 child = Issue.generate!(:project => project, :subject => 'Child1', :parent_issue_id => issue.id)
77 Issue.generate!(:project => project, :subject => 'Child2', :parent_issue_id => issue.id)
78 Issue.generate!(:project => project, :subject => 'Child11', :parent_issue_id => child.id)
90 79 issue.reload
91 80 end
92 81
@@ -115,14 +115,14 class IssueTest < ActiveSupport::TestCase
115 115
116 116 def test_anonymous_should_not_see_private_issues_with_issues_visibility_set_to_default
117 117 assert Role.anonymous.update_attribute(:issues_visibility, 'default')
118 issue = Issue.generate_for_project!(Project.find(1), :author => User.anonymous, :assigned_to => User.anonymous, :is_private => true)
118 issue = Issue.generate!(:author => User.anonymous, :assigned_to => User.anonymous, :is_private => true)
119 119 assert_nil Issue.where(:id => issue.id).visible(User.anonymous).first
120 120 assert !issue.visible?(User.anonymous)
121 121 end
122 122
123 123 def test_anonymous_should_not_see_private_issues_with_issues_visibility_set_to_own
124 124 assert Role.anonymous.update_attribute(:issues_visibility, 'own')
125 issue = Issue.generate_for_project!(Project.find(1), :author => User.anonymous, :assigned_to => User.anonymous, :is_private => true)
125 issue = Issue.generate!(:author => User.anonymous, :assigned_to => User.anonymous, :is_private => true)
126 126 assert_nil Issue.where(:id => issue.id).visible(User.anonymous).first
127 127 assert !issue.visible?(User.anonymous)
128 128 end
@@ -720,10 +720,9 class IssueTest < ActiveSupport::TestCase
720 720
721 721 def test_should_close_duplicates
722 722 # Create 3 issues
723 project = Project.find(1)
724 issue1 = Issue.generate_for_project!(project)
725 issue2 = Issue.generate_for_project!(project)
726 issue3 = Issue.generate_for_project!(project)
723 issue1 = Issue.generate!
724 issue2 = Issue.generate!
725 issue3 = Issue.generate!
727 726
728 727 # 2 is a dupe of 1
729 728 IssueRelation.create!(:issue_from => issue2, :issue_to => issue1, :relation_type => IssueRelation::TYPE_DUPLICATES)
@@ -744,9 +743,8 class IssueTest < ActiveSupport::TestCase
744 743 end
745 744
746 745 def test_should_not_close_duplicated_issue
747 project = Project.find(1)
748 issue1 = Issue.generate_for_project!(project)
749 issue2 = Issue.generate_for_project!(project)
746 issue1 = Issue.generate!
747 issue2 = Issue.generate!
750 748
751 749 # 2 is a dupe of 1
752 750 IssueRelation.create(:issue_from => issue2, :issue_to => issue1, :relation_type => IssueRelation::TYPE_DUPLICATES)
@@ -1211,17 +1209,15 class IssueTest < ActiveSupport::TestCase
1211 1209 end
1212 1210
1213 1211 should "include the issue author" do
1214 project = Project.find(1)
1215 1212 non_project_member = User.generate!
1216 issue = Issue.generate_for_project!(project, :author => non_project_member)
1213 issue = Issue.generate!(:author => non_project_member)
1217 1214
1218 1215 assert issue.assignable_users.include?(non_project_member)
1219 1216 end
1220 1217
1221 1218 should "include the current assignee" do
1222 project = Project.find(1)
1223 1219 user = User.generate!
1224 issue = Issue.generate_for_project!(project, :assigned_to => user)
1220 issue = Issue.generate!(:assigned_to => user)
1225 1221 user.lock!
1226 1222
1227 1223 assert Issue.find(issue.id).assignable_users.include?(user)
@@ -1580,7 +1576,7 class IssueTest < ActiveSupport::TestCase
1580 1576
1581 1577 before = Issue.on_active_project.length
1582 1578 # test inclusion to results
1583 issue = Issue.generate_for_project!(Project.find(1), :tracker => Project.find(2).trackers.first)
1579 issue = Issue.generate!(:tracker => Project.find(2).trackers.first)
1584 1580 assert_equal before + 1, Issue.on_active_project.length
1585 1581
1586 1582 # Move to an archived project
@@ -1594,7 +1590,7 class IssueTest < ActiveSupport::TestCase
1594 1590 @project = Project.find(1)
1595 1591 @author = User.generate!
1596 1592 @assignee = User.generate!
1597 @issue = Issue.generate_for_project!(@project, :assigned_to => @assignee, :author => @author)
1593 @issue = Issue.generate!(:project => @project, :assigned_to => @assignee, :author => @author)
1598 1594 end
1599 1595
1600 1596 should "include project recipients" do
@@ -67,7 +67,7 class Redmine::Helpers::GanttHelperTest < ActionView::TestCase
67 67 should "not exceed max_rows option" do
68 68 p = Project.generate!
69 69 5.times do
70 Issue.generate_for_project!(p)
70 Issue.generate!(:project => p)
71 71 end
72 72 create_gantt(p)
73 73 @gantt.render
@@ -90,14 +90,14 class Redmine::Helpers::GanttHelperTest < ActionView::TestCase
90 90 end
91 91
92 92 should "count the number of issues without a version" do
93 @project.issues << Issue.generate_for_project!(@project, :fixed_version => nil)
93 @project.issues << Issue.generate!(:project => @project, :fixed_version => nil)
94 94 assert_equal 2, @gantt.number_of_rows_on_project(@project)
95 95 end
96 96
97 97 should "count the number of issues on versions, including cross-project" do
98 98 version = Version.generate!
99 99 @project.versions << version
100 @project.issues << Issue.generate_for_project!(@project, :fixed_version => version)
100 @project.issues << Issue.generate!(:project => @project, :fixed_version => version)
101 101 assert_equal 3, @gantt.number_of_rows_on_project(@project)
102 102 end
103 103 end
@@ -828,11 +828,9 class ProjectTest < ActiveSupport::TestCase
828 828 User.current = User.find(1)
829 829 assigned_version = Version.generate!(:name => "Assigned Issues")
830 830 @source_project.versions << assigned_version
831 Issue.generate_for_project!(@source_project,
832 :fixed_version_id => assigned_version.id,
833 :subject => "copy issues assigned to a locked version",
834 :tracker_id => 1,
835 :project_id => @source_project.id)
831 Issue.generate!(:project => @source_project,
832 :fixed_version_id => assigned_version.id,
833 :subject => "copy issues assigned to a locked version")
836 834 assigned_version.update_attribute :status, 'locked'
837 835
838 836 assert @project.copy(@source_project)
@@ -850,11 +848,9 class ProjectTest < ActiveSupport::TestCase
850 848 assigned_version = Version.generate!(:name => "Assigned Issues", :status => 'open')
851 849 @source_project.versions << assigned_version
852 850 assert_equal 3, @source_project.versions.size
853 Issue.generate_for_project!(@source_project,
854 :fixed_version_id => assigned_version.id,
855 :subject => "change the new issues to use the copied version",
856 :tracker_id => 1,
857 :project_id => @source_project.id)
851 Issue.generate!(:project => @source_project,
852 :fixed_version_id => assigned_version.id,
853 :subject => "change the new issues to use the copied version")
858 854
859 855 assert @project.copy(@source_project)
860 856 @project.reload
@@ -868,11 +864,9 class ProjectTest < ActiveSupport::TestCase
868 864
869 865 should "keep target shared versions from other project" do
870 866 assigned_version = Version.generate!(:name => "Assigned Issues", :status => 'open', :project_id => 1, :sharing => 'system')
871 issue = Issue.generate_for_project!(@source_project,
872 :fixed_version => assigned_version,
873 :subject => "keep target shared versions",
874 :tracker_id => 1,
875 :project_id => @source_project.id)
867 issue = Issue.generate!(:project => @source_project,
868 :fixed_version => assigned_version,
869 :subject => "keep target shared versions")
876 870
877 871 assert @project.copy(@source_project)
878 872 @project.reload
@@ -1090,8 +1084,8 class ProjectTest < ActiveSupport::TestCase
1090 1084
1091 1085 should "be the earliest start date of it's issues" do
1092 1086 early = 7.days.ago.to_date
1093 Issue.generate_for_project!(@project, :start_date => Date.today)
1094 Issue.generate_for_project!(@project, :start_date => early)
1087 Issue.generate!(:project => @project, :start_date => Date.today)
1088 Issue.generate!(:project => @project, :start_date => early)
1095 1089
1096 1090 assert_equal early, @project.start_date
1097 1091 end
@@ -1113,8 +1107,8 class ProjectTest < ActiveSupport::TestCase
1113 1107
1114 1108 should "be the latest due date of it's issues" do
1115 1109 future = 7.days.from_now.to_date
1116 Issue.generate_for_project!(@project, :due_date => future)
1117 Issue.generate_for_project!(@project, :due_date => Date.today)
1110 Issue.generate!(:project => @project, :due_date => future)
1111 Issue.generate!(:project => @project, :due_date => Date.today)
1118 1112
1119 1113 assert_equal future, @project.due_date
1120 1114 end
@@ -1132,7 +1126,7 class ProjectTest < ActiveSupport::TestCase
1132 1126 should "pick the latest date from it's issues and versions" do
1133 1127 future = 7.days.from_now.to_date
1134 1128 far_future = 14.days.from_now.to_date
1135 Issue.generate_for_project!(@project, :due_date => far_future)
1129 Issue.generate!(:project => @project, :due_date => far_future)
1136 1130 @project.versions << Version.generate!(:effective_date => future)
1137 1131
1138 1132 assert_equal far_future, @project.due_date
@@ -1163,18 +1157,18 class ProjectTest < ActiveSupport::TestCase
1163 1157
1164 1158 should "return 100 if the version has only closed issues" do
1165 1159 v1 = Version.generate!(:project => @project)
1166 Issue.generate_for_project!(@project, :status => IssueStatus.find_by_name('Closed'), :fixed_version => v1)
1160 Issue.generate!(:project => @project, :status => IssueStatus.find_by_name('Closed'), :fixed_version => v1)
1167 1161 v2 = Version.generate!(:project => @project)
1168 Issue.generate_for_project!(@project, :status => IssueStatus.find_by_name('Closed'), :fixed_version => v2)
1162 Issue.generate!(:project => @project, :status => IssueStatus.find_by_name('Closed'), :fixed_version => v2)
1169 1163
1170 1164 assert_equal 100, @project.completed_percent
1171 1165 end
1172 1166
1173 1167 should "return the averaged completed percent of the versions (not weighted)" do
1174 1168 v1 = Version.generate!(:project => @project)
1175 Issue.generate_for_project!(@project, :status => IssueStatus.find_by_name('New'), :estimated_hours => 10, :done_ratio => 50, :fixed_version => v1)
1169 Issue.generate!(:project => @project, :status => IssueStatus.find_by_name('New'), :estimated_hours => 10, :done_ratio => 50, :fixed_version => v1)
1176 1170 v2 = Version.generate!(:project => @project)
1177 Issue.generate_for_project!(@project, :status => IssueStatus.find_by_name('New'), :estimated_hours => 10, :done_ratio => 50, :fixed_version => v2)
1171 Issue.generate!(:project => @project, :status => IssueStatus.find_by_name('New'), :estimated_hours => 10, :done_ratio => 50, :fixed_version => v2)
1178 1172
1179 1173 assert_equal 50, @project.completed_percent
1180 1174 end
@@ -1149,11 +1149,11 class QueryTest < ActiveSupport::TestCase
1149 1149 User.add_to_project(@developer, @project, @developer_role)
1150 1150 User.add_to_project(@boss, @project, [@manager_role, @developer_role])
1151 1151
1152 @issue1 = Issue.generate_for_project!(@project, :assigned_to_id => @manager.id)
1153 @issue2 = Issue.generate_for_project!(@project, :assigned_to_id => @developer.id)
1154 @issue3 = Issue.generate_for_project!(@project, :assigned_to_id => @boss.id)
1155 @issue4 = Issue.generate_for_project!(@project, :assigned_to_id => @guest.id)
1156 @issue5 = Issue.generate_for_project!(@project)
1152 @issue1 = Issue.generate!(:project => @project, :assigned_to_id => @manager.id)
1153 @issue2 = Issue.generate!(:project => @project, :assigned_to_id => @developer.id)
1154 @issue3 = Issue.generate!(:project => @project, :assigned_to_id => @boss.id)
1155 @issue4 = Issue.generate!(:project => @project, :assigned_to_id => @guest.id)
1156 @issue5 = Issue.generate!(:project => @project)
1157 1157 end
1158 1158
1159 1159 should "search assigned to for users with the Role" do
@@ -948,7 +948,7 class UserTest < ActiveSupport::TestCase
948 948 @project = Project.find(1)
949 949 @author = User.generate!
950 950 @assignee = User.generate!
951 @issue = Issue.generate_for_project!(@project, :assigned_to => @assignee, :author => @author)
951 @issue = Issue.generate!(:project => @project, :assigned_to => @assignee, :author => @author)
952 952 end
953 953
954 954 should "be true for a user with :all" do
General Comments 0
You need to be logged in to leave comments. Login now