comparison .svn/pristine/c2/c24972b7baf956be6b305bb847cc9c6948751072.svn-base @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents
children
comparison
equal deleted inserted replaced
1516:b450a9d58aed 1517:dffacf8a6908
1 module ObjectHelpers
2 def User.generate!(attributes={})
3 @generated_user_login ||= 'user0'
4 @generated_user_login.succ!
5 user = User.new(attributes)
6 user.login = @generated_user_login.dup if user.login.blank?
7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
8 user.firstname = "Bob" if user.firstname.blank?
9 user.lastname = "Doe" if user.lastname.blank?
10 yield user if block_given?
11 user.save!
12 user
13 end
14
15 def User.add_to_project(user, project, roles=nil)
16 roles = Role.find(1) if roles.nil?
17 roles = [roles] unless roles.is_a?(Array)
18 Member.create!(:principal => user, :project => project, :roles => roles)
19 end
20
21 def Group.generate!(attributes={})
22 @generated_group_name ||= 'Group 0'
23 @generated_group_name.succ!
24 group = Group.new(attributes)
25 group.name = @generated_group_name.dup if group.name.blank?
26 yield group if block_given?
27 group.save!
28 group
29 end
30
31 def Project.generate!(attributes={})
32 @generated_project_identifier ||= 'project-0000'
33 @generated_project_identifier.succ!
34 project = Project.new(attributes)
35 project.name = @generated_project_identifier.dup if project.name.blank?
36 project.identifier = @generated_project_identifier.dup if project.identifier.blank?
37 yield project if block_given?
38 project.save!
39 project
40 end
41
42 def Project.generate_with_parent!(parent, attributes={})
43 project = Project.generate!(attributes)
44 project.set_parent!(parent)
45 project
46 end
47
48 def Tracker.generate!(attributes={})
49 @generated_tracker_name ||= 'Tracker 0'
50 @generated_tracker_name.succ!
51 tracker = Tracker.new(attributes)
52 tracker.name = @generated_tracker_name.dup if tracker.name.blank?
53 yield tracker if block_given?
54 tracker.save!
55 tracker
56 end
57
58 def Role.generate!(attributes={})
59 @generated_role_name ||= 'Role 0'
60 @generated_role_name.succ!
61 role = Role.new(attributes)
62 role.name = @generated_role_name.dup if role.name.blank?
63 yield role if block_given?
64 role.save!
65 role
66 end
67
68 # Generates an unsaved Issue
69 def Issue.generate(attributes={})
70 issue = Issue.new(attributes)
71 issue.project ||= Project.find(1)
72 issue.tracker ||= issue.project.trackers.first
73 issue.subject = 'Generated' if issue.subject.blank?
74 issue.author ||= User.find(2)
75 yield issue if block_given?
76 issue
77 end
78
79 # Generates a saved Issue
80 def Issue.generate!(attributes={}, &block)
81 issue = Issue.generate(attributes, &block)
82 issue.save!
83 issue
84 end
85
86 # Generates an issue with 2 children and a grandchild
87 def Issue.generate_with_descendants!(attributes={})
88 issue = Issue.generate!(attributes)
89 child = Issue.generate!(:project => issue.project, :subject => 'Child1', :parent_issue_id => issue.id)
90 Issue.generate!(:project => issue.project, :subject => 'Child2', :parent_issue_id => issue.id)
91 Issue.generate!(:project => issue.project, :subject => 'Child11', :parent_issue_id => child.id)
92 issue.reload
93 end
94
95 def Journal.generate!(attributes={})
96 journal = Journal.new(attributes)
97 journal.user ||= User.first
98 journal.journalized ||= Issue.first
99 yield journal if block_given?
100 journal.save!
101 journal
102 end
103
104 def Version.generate!(attributes={})
105 @generated_version_name ||= 'Version 0'
106 @generated_version_name.succ!
107 version = Version.new(attributes)
108 version.name = @generated_version_name.dup if version.name.blank?
109 yield version if block_given?
110 version.save!
111 version
112 end
113
114 def TimeEntry.generate!(attributes={})
115 entry = TimeEntry.new(attributes)
116 entry.user ||= User.find(2)
117 entry.issue ||= Issue.find(1) unless entry.project
118 entry.project ||= entry.issue.project
119 entry.activity ||= TimeEntryActivity.first
120 entry.spent_on ||= Date.today
121 entry.hours ||= 1.0
122 entry.save!
123 entry
124 end
125
126 def AuthSource.generate!(attributes={})
127 @generated_auth_source_name ||= 'Auth 0'
128 @generated_auth_source_name.succ!
129 source = AuthSource.new(attributes)
130 source.name = @generated_auth_source_name.dup if source.name.blank?
131 yield source if block_given?
132 source.save!
133 source
134 end
135
136 def Board.generate!(attributes={})
137 @generated_board_name ||= 'Forum 0'
138 @generated_board_name.succ!
139 board = Board.new(attributes)
140 board.name = @generated_board_name.dup if board.name.blank?
141 board.description = @generated_board_name.dup if board.description.blank?
142 yield board if block_given?
143 board.save!
144 board
145 end
146
147 def Attachment.generate!(attributes={})
148 @generated_filename ||= 'testfile0'
149 @generated_filename.succ!
150 attributes = attributes.dup
151 attachment = Attachment.new(attributes)
152 attachment.container ||= Issue.find(1)
153 attachment.author ||= User.find(2)
154 attachment.filename = @generated_filename.dup if attachment.filename.blank?
155 attachment.save!
156 attachment
157 end
158
159 def CustomField.generate!(attributes={})
160 @generated_custom_field_name ||= 'Custom field 0'
161 @generated_custom_field_name.succ!
162 field = new(attributes)
163 field.name = @generated_custom_field_name.dup if field.name.blank?
164 field.field_format = 'string' if field.field_format.blank?
165 yield field if block_given?
166 field.save!
167 field
168 end
169
170 def Changeset.generate!(attributes={})
171 @generated_changeset_rev ||= '123456'
172 @generated_changeset_rev.succ!
173 changeset = new(attributes)
174 changeset.repository ||= Project.find(1).repository
175 changeset.revision ||= @generated_changeset_rev
176 changeset.committed_on ||= Time.now
177 yield changeset if block_given?
178 changeset.save!
179 changeset
180 end
181 end
182
183 module IssueObjectHelpers
184 def close!
185 self.status = IssueStatus.where(:is_closed => true).first
186 save!
187 end
188
189 def generate_child!(attributes={})
190 Issue.generate!(attributes.merge(:parent_issue_id => self.id))
191 end
192 end
193
194 Issue.send :include, IssueObjectHelpers