Chris@1115
|
1 module ObjectHelpers
|
Chris@1115
|
2 def User.generate!(attributes={})
|
Chris@1115
|
3 @generated_user_login ||= 'user0'
|
Chris@1115
|
4 @generated_user_login.succ!
|
Chris@1115
|
5 user = User.new(attributes)
|
Chris@1115
|
6 user.login = @generated_user_login if user.login.blank?
|
Chris@1115
|
7 user.mail = "#{@generated_user_login}@example.com" if user.mail.blank?
|
Chris@1115
|
8 user.firstname = "Bob" if user.firstname.blank?
|
Chris@1115
|
9 user.lastname = "Doe" if user.lastname.blank?
|
Chris@1115
|
10 yield user if block_given?
|
Chris@1115
|
11 user.save!
|
Chris@1115
|
12 user
|
Chris@1115
|
13 end
|
Chris@1115
|
14
|
Chris@1115
|
15 def User.add_to_project(user, project, roles=nil)
|
Chris@1115
|
16 roles = Role.find(1) if roles.nil?
|
Chris@1115
|
17 roles = [roles] unless roles.is_a?(Array)
|
Chris@1115
|
18 Member.create!(:principal => user, :project => project, :roles => roles)
|
Chris@1115
|
19 end
|
Chris@1115
|
20
|
Chris@1115
|
21 def Group.generate!(attributes={})
|
Chris@1115
|
22 @generated_group_name ||= 'Group 0'
|
Chris@1115
|
23 @generated_group_name.succ!
|
Chris@1115
|
24 group = Group.new(attributes)
|
Chris@1115
|
25 group.name = @generated_group_name if group.name.blank?
|
Chris@1115
|
26 yield group if block_given?
|
Chris@1115
|
27 group.save!
|
Chris@1115
|
28 group
|
Chris@1115
|
29 end
|
Chris@1115
|
30
|
Chris@1115
|
31 def Project.generate!(attributes={})
|
Chris@1115
|
32 @generated_project_identifier ||= 'project-0000'
|
Chris@1115
|
33 @generated_project_identifier.succ!
|
Chris@1115
|
34 project = Project.new(attributes)
|
Chris@1115
|
35 project.name = @generated_project_identifier if project.name.blank?
|
Chris@1115
|
36 project.identifier = @generated_project_identifier if project.identifier.blank?
|
Chris@1115
|
37 yield project if block_given?
|
Chris@1115
|
38 project.save!
|
Chris@1115
|
39 project
|
Chris@1115
|
40 end
|
Chris@1115
|
41
|
Chris@1115
|
42 def Tracker.generate!(attributes={})
|
Chris@1115
|
43 @generated_tracker_name ||= 'Tracker 0'
|
Chris@1115
|
44 @generated_tracker_name.succ!
|
Chris@1115
|
45 tracker = Tracker.new(attributes)
|
Chris@1115
|
46 tracker.name = @generated_tracker_name if tracker.name.blank?
|
Chris@1115
|
47 yield tracker if block_given?
|
Chris@1115
|
48 tracker.save!
|
Chris@1115
|
49 tracker
|
Chris@1115
|
50 end
|
Chris@1115
|
51
|
Chris@1115
|
52 def Role.generate!(attributes={})
|
Chris@1115
|
53 @generated_role_name ||= 'Role 0'
|
Chris@1115
|
54 @generated_role_name.succ!
|
Chris@1115
|
55 role = Role.new(attributes)
|
Chris@1115
|
56 role.name = @generated_role_name if role.name.blank?
|
Chris@1115
|
57 yield role if block_given?
|
Chris@1115
|
58 role.save!
|
Chris@1115
|
59 role
|
Chris@1115
|
60 end
|
Chris@1115
|
61
|
Chris@1115
|
62 def Issue.generate!(attributes={})
|
Chris@1115
|
63 issue = Issue.new(attributes)
|
Chris@1115
|
64 issue.project ||= Project.find(1)
|
Chris@1115
|
65 issue.tracker ||= issue.project.trackers.first
|
Chris@1115
|
66 issue.subject = 'Generated' if issue.subject.blank?
|
Chris@1115
|
67 issue.author ||= User.find(2)
|
Chris@1115
|
68 yield issue if block_given?
|
Chris@1115
|
69 issue.save!
|
Chris@1115
|
70 issue
|
Chris@1115
|
71 end
|
Chris@1115
|
72
|
Chris@1115
|
73 # Generates an issue with 2 children and a grandchild
|
Chris@1115
|
74 def Issue.generate_with_descendants!(attributes={})
|
Chris@1115
|
75 issue = Issue.generate!(attributes)
|
Chris@1115
|
76 child = Issue.generate!(:project => issue.project, :subject => 'Child1', :parent_issue_id => issue.id)
|
Chris@1115
|
77 Issue.generate!(:project => issue.project, :subject => 'Child2', :parent_issue_id => issue.id)
|
Chris@1115
|
78 Issue.generate!(:project => issue.project, :subject => 'Child11', :parent_issue_id => child.id)
|
Chris@1115
|
79 issue.reload
|
Chris@1115
|
80 end
|
Chris@1115
|
81
|
Chris@1115
|
82 def Journal.generate!(attributes={})
|
Chris@1115
|
83 journal = Journal.new(attributes)
|
Chris@1115
|
84 journal.user ||= User.first
|
Chris@1115
|
85 journal.journalized ||= Issue.first
|
Chris@1115
|
86 yield journal if block_given?
|
Chris@1115
|
87 journal.save!
|
Chris@1115
|
88 journal
|
Chris@1115
|
89 end
|
Chris@1115
|
90
|
Chris@1115
|
91 def Version.generate!(attributes={})
|
Chris@1115
|
92 @generated_version_name ||= 'Version 0'
|
Chris@1115
|
93 @generated_version_name.succ!
|
Chris@1115
|
94 version = Version.new(attributes)
|
Chris@1115
|
95 version.name = @generated_version_name if version.name.blank?
|
Chris@1115
|
96 yield version if block_given?
|
Chris@1115
|
97 version.save!
|
Chris@1115
|
98 version
|
Chris@1115
|
99 end
|
Chris@1115
|
100
|
Chris@1115
|
101 def AuthSource.generate!(attributes={})
|
Chris@1115
|
102 @generated_auth_source_name ||= 'Auth 0'
|
Chris@1115
|
103 @generated_auth_source_name.succ!
|
Chris@1115
|
104 source = AuthSource.new(attributes)
|
Chris@1115
|
105 source.name = @generated_auth_source_name if source.name.blank?
|
Chris@1115
|
106 yield source if block_given?
|
Chris@1115
|
107 source.save!
|
Chris@1115
|
108 source
|
Chris@1115
|
109 end
|
Chris@1115
|
110
|
Chris@1115
|
111 def Board.generate!(attributes={})
|
Chris@1115
|
112 @generated_board_name ||= 'Forum 0'
|
Chris@1115
|
113 @generated_board_name.succ!
|
Chris@1115
|
114 board = Board.new(attributes)
|
Chris@1115
|
115 board.name = @generated_board_name if board.name.blank?
|
Chris@1115
|
116 board.description = @generated_board_name if board.description.blank?
|
Chris@1115
|
117 yield board if block_given?
|
Chris@1115
|
118 board.save!
|
Chris@1115
|
119 board
|
Chris@1115
|
120 end
|
Chris@1294
|
121
|
Chris@1294
|
122 def Attachment.generate!(attributes={})
|
Chris@1294
|
123 @generated_filename ||= 'testfile0'
|
Chris@1294
|
124 @generated_filename.succ!
|
Chris@1294
|
125 attributes = attributes.dup
|
Chris@1294
|
126 attachment = Attachment.new(attributes)
|
Chris@1294
|
127 attachment.container ||= Issue.find(1)
|
Chris@1294
|
128 attachment.author ||= User.find(2)
|
Chris@1294
|
129 attachment.filename = @generated_filename if attachment.filename.blank?
|
Chris@1294
|
130 attachment.save!
|
Chris@1294
|
131 attachment
|
Chris@1294
|
132 end
|
Chris@1115
|
133 end
|