To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / .svn / pristine / 00 / 00bd76ee7194e922fe9340f2d39d910c9f79b20e.svn-base @ 1298:4f746d8966dd
History | View | Annotate | Download (5.02 KB)
| 1 | 1295:622f24f53b42 | Chris | 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 | def Issue.generate!(attributes={})
|
||
| 69 | issue = Issue.new(attributes) |
||
| 70 | issue.project ||= Project.find(1) |
||
| 71 | issue.tracker ||= issue.project.trackers.first |
||
| 72 | issue.subject = 'Generated' if issue.subject.blank? |
||
| 73 | issue.author ||= User.find(2) |
||
| 74 | yield issue if block_given? |
||
| 75 | issue.save! |
||
| 76 | issue |
||
| 77 | end |
||
| 78 | |||
| 79 | # Generates an issue with 2 children and a grandchild |
||
| 80 | def Issue.generate_with_descendants!(attributes={})
|
||
| 81 | issue = Issue.generate!(attributes) |
||
| 82 | child = Issue.generate!(:project => issue.project, :subject => 'Child1', :parent_issue_id => issue.id) |
||
| 83 | Issue.generate!(:project => issue.project, :subject => 'Child2', :parent_issue_id => issue.id) |
||
| 84 | Issue.generate!(:project => issue.project, :subject => 'Child11', :parent_issue_id => child.id) |
||
| 85 | issue.reload |
||
| 86 | end |
||
| 87 | |||
| 88 | def Journal.generate!(attributes={})
|
||
| 89 | journal = Journal.new(attributes) |
||
| 90 | journal.user ||= User.first |
||
| 91 | journal.journalized ||= Issue.first |
||
| 92 | yield journal if block_given? |
||
| 93 | journal.save! |
||
| 94 | journal |
||
| 95 | end |
||
| 96 | |||
| 97 | def Version.generate!(attributes={})
|
||
| 98 | @generated_version_name ||= 'Version 0' |
||
| 99 | @generated_version_name.succ! |
||
| 100 | version = Version.new(attributes) |
||
| 101 | version.name = @generated_version_name.dup if version.name.blank? |
||
| 102 | yield version if block_given? |
||
| 103 | version.save! |
||
| 104 | version |
||
| 105 | end |
||
| 106 | |||
| 107 | def TimeEntry.generate!(attributes={})
|
||
| 108 | entry = TimeEntry.new(attributes) |
||
| 109 | entry.user ||= User.find(2) |
||
| 110 | entry.issue ||= Issue.find(1) unless entry.project |
||
| 111 | entry.project ||= entry.issue.project |
||
| 112 | entry.activity ||= TimeEntryActivity.first |
||
| 113 | entry.spent_on ||= Date.today |
||
| 114 | entry.hours ||= 1.0 |
||
| 115 | entry.save! |
||
| 116 | entry |
||
| 117 | end |
||
| 118 | |||
| 119 | def AuthSource.generate!(attributes={})
|
||
| 120 | @generated_auth_source_name ||= 'Auth 0' |
||
| 121 | @generated_auth_source_name.succ! |
||
| 122 | source = AuthSource.new(attributes) |
||
| 123 | source.name = @generated_auth_source_name.dup if source.name.blank? |
||
| 124 | yield source if block_given? |
||
| 125 | source.save! |
||
| 126 | source |
||
| 127 | end |
||
| 128 | |||
| 129 | def Board.generate!(attributes={})
|
||
| 130 | @generated_board_name ||= 'Forum 0' |
||
| 131 | @generated_board_name.succ! |
||
| 132 | board = Board.new(attributes) |
||
| 133 | board.name = @generated_board_name.dup if board.name.blank? |
||
| 134 | board.description = @generated_board_name.dup if board.description.blank? |
||
| 135 | yield board if block_given? |
||
| 136 | board.save! |
||
| 137 | board |
||
| 138 | end |
||
| 139 | |||
| 140 | def Attachment.generate!(attributes={})
|
||
| 141 | @generated_filename ||= 'testfile0' |
||
| 142 | @generated_filename.succ! |
||
| 143 | attributes = attributes.dup |
||
| 144 | attachment = Attachment.new(attributes) |
||
| 145 | attachment.container ||= Issue.find(1) |
||
| 146 | attachment.author ||= User.find(2) |
||
| 147 | attachment.filename = @generated_filename.dup if attachment.filename.blank? |
||
| 148 | attachment.save! |
||
| 149 | attachment |
||
| 150 | end |
||
| 151 | |||
| 152 | def CustomField.generate!(attributes={})
|
||
| 153 | @generated_custom_field_name ||= 'Custom field 0' |
||
| 154 | @generated_custom_field_name.succ! |
||
| 155 | field = new(attributes) |
||
| 156 | field.name = @generated_custom_field_name.dup if field.name.blank? |
||
| 157 | field.field_format = 'string' if field.field_format.blank? |
||
| 158 | yield field if block_given? |
||
| 159 | field.save! |
||
| 160 | field |
||
| 161 | end |
||
| 162 | end |