comparison test/object_helpers.rb @ 1526:404aa68d4227

Merge from live branch
author Chris Cannam
date Thu, 11 Sep 2014 12:46:20 +0100
parents dffacf8a6908
children
comparison
equal deleted inserted replaced
1493:a5f2bdf3b486 1526:404aa68d4227
1 module ObjectHelpers 1 module ObjectHelpers
2 def User.generate!(attributes={}) 2 def User.generate!(attributes={})
3 @generated_user_login ||= 'user0' 3 @generated_user_login ||= 'user0'
4 @generated_user_login.succ! 4 @generated_user_login.succ!
5 user = User.new(attributes) 5 user = User.new(attributes)
6 user.login = @generated_user_login if user.login.blank? 6 user.login = @generated_user_login.dup if user.login.blank?
7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank? 7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
8 user.firstname = "Bob" if user.firstname.blank? 8 user.firstname = "Bob" if user.firstname.blank?
9 user.lastname = "Doe" if user.lastname.blank? 9 user.lastname = "Doe" if user.lastname.blank?
10 yield user if block_given? 10 yield user if block_given?
11 user.save! 11 user.save!
20 20
21 def Group.generate!(attributes={}) 21 def Group.generate!(attributes={})
22 @generated_group_name ||= 'Group 0' 22 @generated_group_name ||= 'Group 0'
23 @generated_group_name.succ! 23 @generated_group_name.succ!
24 group = Group.new(attributes) 24 group = Group.new(attributes)
25 group.name = @generated_group_name if group.name.blank? 25 group.name = @generated_group_name.dup if group.name.blank?
26 yield group if block_given? 26 yield group if block_given?
27 group.save! 27 group.save!
28 group 28 group
29 end 29 end
30 30
31 def Project.generate!(attributes={}) 31 def Project.generate!(attributes={})
32 @generated_project_identifier ||= 'project-0000' 32 @generated_project_identifier ||= 'project-0000'
33 @generated_project_identifier.succ! 33 @generated_project_identifier.succ!
34 project = Project.new(attributes) 34 project = Project.new(attributes)
35 project.name = @generated_project_identifier if project.name.blank? 35 project.name = @generated_project_identifier.dup if project.name.blank?
36 project.identifier = @generated_project_identifier if project.identifier.blank? 36 project.identifier = @generated_project_identifier.dup if project.identifier.blank?
37 yield project if block_given? 37 yield project if block_given?
38 project.save! 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)
39 project 45 project
40 end 46 end
41 47
42 def Tracker.generate!(attributes={}) 48 def Tracker.generate!(attributes={})
43 @generated_tracker_name ||= 'Tracker 0' 49 @generated_tracker_name ||= 'Tracker 0'
44 @generated_tracker_name.succ! 50 @generated_tracker_name.succ!
45 tracker = Tracker.new(attributes) 51 tracker = Tracker.new(attributes)
46 tracker.name = @generated_tracker_name if tracker.name.blank? 52 tracker.name = @generated_tracker_name.dup if tracker.name.blank?
47 yield tracker if block_given? 53 yield tracker if block_given?
48 tracker.save! 54 tracker.save!
49 tracker 55 tracker
50 end 56 end
51 57
52 def Role.generate!(attributes={}) 58 def Role.generate!(attributes={})
53 @generated_role_name ||= 'Role 0' 59 @generated_role_name ||= 'Role 0'
54 @generated_role_name.succ! 60 @generated_role_name.succ!
55 role = Role.new(attributes) 61 role = Role.new(attributes)
56 role.name = @generated_role_name if role.name.blank? 62 role.name = @generated_role_name.dup if role.name.blank?
57 yield role if block_given? 63 yield role if block_given?
58 role.save! 64 role.save!
59 role 65 role
60 end 66 end
61 67
62 def Issue.generate!(attributes={}) 68 # Generates an unsaved Issue
69 def Issue.generate(attributes={})
63 issue = Issue.new(attributes) 70 issue = Issue.new(attributes)
64 issue.project ||= Project.find(1) 71 issue.project ||= Project.find(1)
65 issue.tracker ||= issue.project.trackers.first 72 issue.tracker ||= issue.project.trackers.first
66 issue.subject = 'Generated' if issue.subject.blank? 73 issue.subject = 'Generated' if issue.subject.blank?
67 issue.author ||= User.find(2) 74 issue.author ||= User.find(2)
68 yield issue if block_given? 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)
69 issue.save! 82 issue.save!
70 issue 83 issue
71 end 84 end
72 85
73 # Generates an issue with 2 children and a grandchild 86 # Generates an issue with 2 children and a grandchild
90 103
91 def Version.generate!(attributes={}) 104 def Version.generate!(attributes={})
92 @generated_version_name ||= 'Version 0' 105 @generated_version_name ||= 'Version 0'
93 @generated_version_name.succ! 106 @generated_version_name.succ!
94 version = Version.new(attributes) 107 version = Version.new(attributes)
95 version.name = @generated_version_name if version.name.blank? 108 version.name = @generated_version_name.dup if version.name.blank?
96 yield version if block_given? 109 yield version if block_given?
97 version.save! 110 version.save!
98 version 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
99 end 124 end
100 125
101 def AuthSource.generate!(attributes={}) 126 def AuthSource.generate!(attributes={})
102 @generated_auth_source_name ||= 'Auth 0' 127 @generated_auth_source_name ||= 'Auth 0'
103 @generated_auth_source_name.succ! 128 @generated_auth_source_name.succ!
104 source = AuthSource.new(attributes) 129 source = AuthSource.new(attributes)
105 source.name = @generated_auth_source_name if source.name.blank? 130 source.name = @generated_auth_source_name.dup if source.name.blank?
106 yield source if block_given? 131 yield source if block_given?
107 source.save! 132 source.save!
108 source 133 source
109 end 134 end
110 135
111 def Board.generate!(attributes={}) 136 def Board.generate!(attributes={})
112 @generated_board_name ||= 'Forum 0' 137 @generated_board_name ||= 'Forum 0'
113 @generated_board_name.succ! 138 @generated_board_name.succ!
114 board = Board.new(attributes) 139 board = Board.new(attributes)
115 board.name = @generated_board_name if board.name.blank? 140 board.name = @generated_board_name.dup if board.name.blank?
116 board.description = @generated_board_name if board.description.blank? 141 board.description = @generated_board_name.dup if board.description.blank?
117 yield board if block_given? 142 yield board if block_given?
118 board.save! 143 board.save!
119 board 144 board
120 end 145 end
121 146
124 @generated_filename.succ! 149 @generated_filename.succ!
125 attributes = attributes.dup 150 attributes = attributes.dup
126 attachment = Attachment.new(attributes) 151 attachment = Attachment.new(attributes)
127 attachment.container ||= Issue.find(1) 152 attachment.container ||= Issue.find(1)
128 attachment.author ||= User.find(2) 153 attachment.author ||= User.find(2)
129 attachment.filename = @generated_filename if attachment.filename.blank? 154 attachment.filename = @generated_filename.dup if attachment.filename.blank?
130 attachment.save! 155 attachment.save!
131 attachment 156 attachment
132 end 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
133 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