Mercurial > hg > soundsoftware-site
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 |