annotate .svn/pristine/00/00bd76ee7194e922fe9340f2d39d910c9f79b20e.svn-base @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children
rev   line source
Chris@1295 1 module ObjectHelpers
Chris@1295 2 def User.generate!(attributes={})
Chris@1295 3 @generated_user_login ||= 'user0'
Chris@1295 4 @generated_user_login.succ!
Chris@1295 5 user = User.new(attributes)
Chris@1295 6 user.login = @generated_user_login.dup if user.login.blank?
Chris@1295 7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
Chris@1295 8 user.firstname = "Bob" if user.firstname.blank?
Chris@1295 9 user.lastname = "Doe" if user.lastname.blank?
Chris@1295 10 yield user if block_given?
Chris@1295 11 user.save!
Chris@1295 12 user
Chris@1295 13 end
Chris@1295 14
Chris@1295 15 def User.add_to_project(user, project, roles=nil)
Chris@1295 16 roles = Role.find(1) if roles.nil?
Chris@1295 17 roles = [roles] unless roles.is_a?(Array)
Chris@1295 18 Member.create!(:principal => user, :project => project, :roles => roles)
Chris@1295 19 end
Chris@1295 20
Chris@1295 21 def Group.generate!(attributes={})
Chris@1295 22 @generated_group_name ||= 'Group 0'
Chris@1295 23 @generated_group_name.succ!
Chris@1295 24 group = Group.new(attributes)
Chris@1295 25 group.name = @generated_group_name.dup if group.name.blank?
Chris@1295 26 yield group if block_given?
Chris@1295 27 group.save!
Chris@1295 28 group
Chris@1295 29 end
Chris@1295 30
Chris@1295 31 def Project.generate!(attributes={})
Chris@1295 32 @generated_project_identifier ||= 'project-0000'
Chris@1295 33 @generated_project_identifier.succ!
Chris@1295 34 project = Project.new(attributes)
Chris@1295 35 project.name = @generated_project_identifier.dup if project.name.blank?
Chris@1295 36 project.identifier = @generated_project_identifier.dup if project.identifier.blank?
Chris@1295 37 yield project if block_given?
Chris@1295 38 project.save!
Chris@1295 39 project
Chris@1295 40 end
Chris@1295 41
Chris@1295 42 def Project.generate_with_parent!(parent, attributes={})
Chris@1295 43 project = Project.generate!(attributes)
Chris@1295 44 project.set_parent!(parent)
Chris@1295 45 project
Chris@1295 46 end
Chris@1295 47
Chris@1295 48 def Tracker.generate!(attributes={})
Chris@1295 49 @generated_tracker_name ||= 'Tracker 0'
Chris@1295 50 @generated_tracker_name.succ!
Chris@1295 51 tracker = Tracker.new(attributes)
Chris@1295 52 tracker.name = @generated_tracker_name.dup if tracker.name.blank?
Chris@1295 53 yield tracker if block_given?
Chris@1295 54 tracker.save!
Chris@1295 55 tracker
Chris@1295 56 end
Chris@1295 57
Chris@1295 58 def Role.generate!(attributes={})
Chris@1295 59 @generated_role_name ||= 'Role 0'
Chris@1295 60 @generated_role_name.succ!
Chris@1295 61 role = Role.new(attributes)
Chris@1295 62 role.name = @generated_role_name.dup if role.name.blank?
Chris@1295 63 yield role if block_given?
Chris@1295 64 role.save!
Chris@1295 65 role
Chris@1295 66 end
Chris@1295 67
Chris@1295 68 def Issue.generate!(attributes={})
Chris@1295 69 issue = Issue.new(attributes)
Chris@1295 70 issue.project ||= Project.find(1)
Chris@1295 71 issue.tracker ||= issue.project.trackers.first
Chris@1295 72 issue.subject = 'Generated' if issue.subject.blank?
Chris@1295 73 issue.author ||= User.find(2)
Chris@1295 74 yield issue if block_given?
Chris@1295 75 issue.save!
Chris@1295 76 issue
Chris@1295 77 end
Chris@1295 78
Chris@1295 79 # Generates an issue with 2 children and a grandchild
Chris@1295 80 def Issue.generate_with_descendants!(attributes={})
Chris@1295 81 issue = Issue.generate!(attributes)
Chris@1295 82 child = Issue.generate!(:project => issue.project, :subject => 'Child1', :parent_issue_id => issue.id)
Chris@1295 83 Issue.generate!(:project => issue.project, :subject => 'Child2', :parent_issue_id => issue.id)
Chris@1295 84 Issue.generate!(:project => issue.project, :subject => 'Child11', :parent_issue_id => child.id)
Chris@1295 85 issue.reload
Chris@1295 86 end
Chris@1295 87
Chris@1295 88 def Journal.generate!(attributes={})
Chris@1295 89 journal = Journal.new(attributes)
Chris@1295 90 journal.user ||= User.first
Chris@1295 91 journal.journalized ||= Issue.first
Chris@1295 92 yield journal if block_given?
Chris@1295 93 journal.save!
Chris@1295 94 journal
Chris@1295 95 end
Chris@1295 96
Chris@1295 97 def Version.generate!(attributes={})
Chris@1295 98 @generated_version_name ||= 'Version 0'
Chris@1295 99 @generated_version_name.succ!
Chris@1295 100 version = Version.new(attributes)
Chris@1295 101 version.name = @generated_version_name.dup if version.name.blank?
Chris@1295 102 yield version if block_given?
Chris@1295 103 version.save!
Chris@1295 104 version
Chris@1295 105 end
Chris@1295 106
Chris@1295 107 def TimeEntry.generate!(attributes={})
Chris@1295 108 entry = TimeEntry.new(attributes)
Chris@1295 109 entry.user ||= User.find(2)
Chris@1295 110 entry.issue ||= Issue.find(1) unless entry.project
Chris@1295 111 entry.project ||= entry.issue.project
Chris@1295 112 entry.activity ||= TimeEntryActivity.first
Chris@1295 113 entry.spent_on ||= Date.today
Chris@1295 114 entry.hours ||= 1.0
Chris@1295 115 entry.save!
Chris@1295 116 entry
Chris@1295 117 end
Chris@1295 118
Chris@1295 119 def AuthSource.generate!(attributes={})
Chris@1295 120 @generated_auth_source_name ||= 'Auth 0'
Chris@1295 121 @generated_auth_source_name.succ!
Chris@1295 122 source = AuthSource.new(attributes)
Chris@1295 123 source.name = @generated_auth_source_name.dup if source.name.blank?
Chris@1295 124 yield source if block_given?
Chris@1295 125 source.save!
Chris@1295 126 source
Chris@1295 127 end
Chris@1295 128
Chris@1295 129 def Board.generate!(attributes={})
Chris@1295 130 @generated_board_name ||= 'Forum 0'
Chris@1295 131 @generated_board_name.succ!
Chris@1295 132 board = Board.new(attributes)
Chris@1295 133 board.name = @generated_board_name.dup if board.name.blank?
Chris@1295 134 board.description = @generated_board_name.dup if board.description.blank?
Chris@1295 135 yield board if block_given?
Chris@1295 136 board.save!
Chris@1295 137 board
Chris@1295 138 end
Chris@1295 139
Chris@1295 140 def Attachment.generate!(attributes={})
Chris@1295 141 @generated_filename ||= 'testfile0'
Chris@1295 142 @generated_filename.succ!
Chris@1295 143 attributes = attributes.dup
Chris@1295 144 attachment = Attachment.new(attributes)
Chris@1295 145 attachment.container ||= Issue.find(1)
Chris@1295 146 attachment.author ||= User.find(2)
Chris@1295 147 attachment.filename = @generated_filename.dup if attachment.filename.blank?
Chris@1295 148 attachment.save!
Chris@1295 149 attachment
Chris@1295 150 end
Chris@1295 151
Chris@1295 152 def CustomField.generate!(attributes={})
Chris@1295 153 @generated_custom_field_name ||= 'Custom field 0'
Chris@1295 154 @generated_custom_field_name.succ!
Chris@1295 155 field = new(attributes)
Chris@1295 156 field.name = @generated_custom_field_name.dup if field.name.blank?
Chris@1295 157 field.field_format = 'string' if field.field_format.blank?
Chris@1295 158 yield field if block_given?
Chris@1295 159 field.save!
Chris@1295 160 field
Chris@1295 161 end
Chris@1295 162 end