object_helpers.rb
181 lines
| 5.5 KiB
| text/x-ruby
|
RubyLexer
/ test / object_helpers.rb
|
r9336 | module ObjectHelpers | ||
|
r9335 | def User.generate!(attributes={}) | ||
@generated_user_login ||= 'user0' | ||||
@generated_user_login.succ! | ||||
user = User.new(attributes) | ||||
|
r11092 | user.login = @generated_user_login.dup if user.login.blank? | ||
|
r9335 | user.mail = "#{@generated_user_login}@example.com" if user.mail.blank? | ||
user.firstname = "Bob" if user.firstname.blank? | ||||
user.lastname = "Doe" if user.lastname.blank? | ||||
yield user if block_given? | ||||
user.save! | ||||
user | ||||
end | ||||
|
r10053 | def User.add_to_project(user, project, roles=nil) | ||
roles = Role.find(1) if roles.nil? | ||||
|
r9339 | roles = [roles] unless roles.is_a?(Array) | ||
Member.create!(:principal => user, :project => project, :roles => roles) | ||||
end | ||||
|
r9335 | def Group.generate!(attributes={}) | ||
@generated_group_name ||= 'Group 0' | ||||
@generated_group_name.succ! | ||||
group = Group.new(attributes) | ||||
|
r11092 | group.name = @generated_group_name.dup if group.name.blank? | ||
|
r9335 | yield group if block_given? | ||
group.save! | ||||
group | ||||
end | ||||
def Project.generate!(attributes={}) | ||||
@generated_project_identifier ||= 'project-0000' | ||||
@generated_project_identifier.succ! | ||||
project = Project.new(attributes) | ||||
|
r11092 | project.name = @generated_project_identifier.dup if project.name.blank? | ||
project.identifier = @generated_project_identifier.dup if project.identifier.blank? | ||||
|
r9335 | yield project if block_given? | ||
project.save! | ||||
project | ||||
end | ||||
|
r11068 | def Project.generate_with_parent!(parent, attributes={}) | ||
project = Project.generate!(attributes) | ||||
project.set_parent!(parent) | ||||
project | ||||
end | ||||
|
r9335 | def Tracker.generate!(attributes={}) | ||
@generated_tracker_name ||= 'Tracker 0' | ||||
@generated_tracker_name.succ! | ||||
tracker = Tracker.new(attributes) | ||||
|
r11092 | tracker.name = @generated_tracker_name.dup if tracker.name.blank? | ||
|
r9335 | yield tracker if block_given? | ||
tracker.save! | ||||
tracker | ||||
end | ||||
def Role.generate!(attributes={}) | ||||
@generated_role_name ||= 'Role 0' | ||||
@generated_role_name.succ! | ||||
role = Role.new(attributes) | ||||
|
r11092 | role.name = @generated_role_name.dup if role.name.blank? | ||
|
r9335 | yield role if block_given? | ||
role.save! | ||||
role | ||||
end | ||||
|
r11701 | # Generates an unsaved Issue | ||
def Issue.generate(attributes={}) | ||||
|
r9335 | issue = Issue.new(attributes) | ||
|
r10400 | issue.project ||= Project.find(1) | ||
issue.tracker ||= issue.project.trackers.first | ||||
|
r9335 | issue.subject = 'Generated' if issue.subject.blank? | ||
issue.author ||= User.find(2) | ||||
yield issue if block_given? | ||||
|
r11701 | issue | ||
end | ||||
# Generates a saved Issue | ||||
def Issue.generate!(attributes={}, &block) | ||||
issue = Issue.generate(attributes, &block) | ||||
|
r9335 | issue.save! | ||
issue | ||||
end | ||||
|
r10401 | # Generates an issue with 2 children and a grandchild | ||
def Issue.generate_with_descendants!(attributes={}) | ||||
issue = Issue.generate!(attributes) | ||||
child = Issue.generate!(:project => issue.project, :subject => 'Child1', :parent_issue_id => issue.id) | ||||
Issue.generate!(:project => issue.project, :subject => 'Child2', :parent_issue_id => issue.id) | ||||
Issue.generate!(:project => issue.project, :subject => 'Child11', :parent_issue_id => child.id) | ||||
|
r10144 | issue.reload | ||
end | ||||
|
r10336 | def Journal.generate!(attributes={}) | ||
journal = Journal.new(attributes) | ||||
journal.user ||= User.first | ||||
journal.journalized ||= Issue.first | ||||
yield journal if block_given? | ||||
journal.save! | ||||
journal | ||||
end | ||||
|
r9335 | def Version.generate!(attributes={}) | ||
@generated_version_name ||= 'Version 0' | ||||
@generated_version_name.succ! | ||||
version = Version.new(attributes) | ||||
|
r11092 | version.name = @generated_version_name.dup if version.name.blank? | ||
|
r9335 | yield version if block_given? | ||
version.save! | ||||
version | ||||
end | ||||
|
r10941 | def TimeEntry.generate!(attributes={}) | ||
entry = TimeEntry.new(attributes) | ||||
entry.user ||= User.find(2) | ||||
|
r11533 | entry.issue ||= Issue.find(1) unless entry.project | ||
|
r10941 | entry.project ||= entry.issue.project | ||
entry.activity ||= TimeEntryActivity.first | ||||
entry.spent_on ||= Date.today | ||||
|
r11533 | entry.hours ||= 1.0 | ||
|
r10941 | entry.save! | ||
entry | ||||
end | ||||
|
r9335 | def AuthSource.generate!(attributes={}) | ||
@generated_auth_source_name ||= 'Auth 0' | ||||
@generated_auth_source_name.succ! | ||||
source = AuthSource.new(attributes) | ||||
|
r11092 | source.name = @generated_auth_source_name.dup if source.name.blank? | ||
|
r9335 | yield source if block_given? | ||
source.save! | ||||
source | ||||
|
r3964 | end | ||
|
r9959 | |||
def Board.generate!(attributes={}) | ||||
@generated_board_name ||= 'Forum 0' | ||||
@generated_board_name.succ! | ||||
board = Board.new(attributes) | ||||
|
r11092 | board.name = @generated_board_name.dup if board.name.blank? | ||
board.description = @generated_board_name.dup if board.description.blank? | ||||
|
r9959 | yield board if block_given? | ||
board.save! | ||||
board | ||||
end | ||||
|
r10966 | |||
def Attachment.generate!(attributes={}) | ||||
@generated_filename ||= 'testfile0' | ||||
@generated_filename.succ! | ||||
attributes = attributes.dup | ||||
attachment = Attachment.new(attributes) | ||||
attachment.container ||= Issue.find(1) | ||||
attachment.author ||= User.find(2) | ||||
|
r11092 | attachment.filename = @generated_filename.dup if attachment.filename.blank? | ||
|
r10966 | attachment.save! | ||
attachment | ||||
end | ||||
|
r11530 | |||
def CustomField.generate!(attributes={}) | ||||
@generated_custom_field_name ||= 'Custom field 0' | ||||
@generated_custom_field_name.succ! | ||||
field = new(attributes) | ||||
field.name = @generated_custom_field_name.dup if field.name.blank? | ||||
field.field_format = 'string' if field.field_format.blank? | ||||
yield field if block_given? | ||||
field.save! | ||||
field | ||||
end | ||||
|
r11978 | |||
def Changeset.generate!(attributes={}) | ||||
@generated_changeset_rev ||= '123456' | ||||
@generated_changeset_rev.succ! | ||||
changeset = new(attributes) | ||||
changeset.repository ||= Project.find(1).repository | ||||
changeset.revision ||= @generated_changeset_rev | ||||
changeset.committed_on ||= Time.now | ||||
yield changeset if block_given? | ||||
changeset.save! | ||||
changeset | ||||
end | ||||
|
r2824 | end | ||