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