@@ -0,0 +1,21 | |||||
|
1 | class Attachment < ActiveRecord::Base | |||
|
2 | generator_for :container, :method => :generate_project | |||
|
3 | generator_for :file, :method => :generate_file | |||
|
4 | generator_for :author, :method => :generate_author | |||
|
5 | ||||
|
6 | def self.generate_project | |||
|
7 | Project.generate! | |||
|
8 | end | |||
|
9 | ||||
|
10 | def self.generate_author | |||
|
11 | User.generate_with_protected! | |||
|
12 | end | |||
|
13 | ||||
|
14 | def self.generate_file | |||
|
15 | @file = 'a_file.png' | |||
|
16 | @file.stubs(:original_filename).returns('a_file.png') | |||
|
17 | @file.stubs(:content_type).returns('image/png') | |||
|
18 | @file.stubs(:read).returns(false) | |||
|
19 | @file | |||
|
20 | end | |||
|
21 | end |
@@ -0,0 +1,9 | |||||
|
1 | class AuthSource < ActiveRecord::Base | |||
|
2 | generator_for :name, :method => :next_name | |||
|
3 | ||||
|
4 | def self.next_name | |||
|
5 | @last_name ||= 'Auth0' | |||
|
6 | @last_name.succ! | |||
|
7 | @last_name | |||
|
8 | end | |||
|
9 | end |
@@ -0,0 +1,21 | |||||
|
1 | class Board < ActiveRecord::Base | |||
|
2 | generator_for :name, :method => :next_name | |||
|
3 | generator_for :description, :method => :next_description | |||
|
4 | generator_for :project, :method => :generate_project | |||
|
5 | ||||
|
6 | def self.next_name | |||
|
7 | @last_name ||= 'A Forum' | |||
|
8 | @last_name.succ! | |||
|
9 | @last_name | |||
|
10 | end | |||
|
11 | ||||
|
12 | def self.next_description | |||
|
13 | @last_description ||= 'Some description here' | |||
|
14 | @last_description.succ! | |||
|
15 | @last_description | |||
|
16 | end | |||
|
17 | ||||
|
18 | def self.generate_project | |||
|
19 | Project.generate! | |||
|
20 | end | |||
|
21 | end |
@@ -0,0 +1,15 | |||||
|
1 | class Change < ActiveRecord::Base | |||
|
2 | generator_for :action => 'A' | |||
|
3 | generator_for :path, :method => :next_path | |||
|
4 | generator_for :changeset, :method => :generate_changeset | |||
|
5 | ||||
|
6 | def self.next_path | |||
|
7 | @last_path ||= 'test/dir/aaa0001' | |||
|
8 | @last_path.succ! | |||
|
9 | @last_path | |||
|
10 | end | |||
|
11 | ||||
|
12 | def self.generate_changeset | |||
|
13 | Changeset.generate! | |||
|
14 | end | |||
|
15 | end |
@@ -0,0 +1,15 | |||||
|
1 | class Changeset < ActiveRecord::Base | |||
|
2 | generator_for :revision, :method => :next_revision | |||
|
3 | generator_for :committed_on => Date.today | |||
|
4 | generator_for :repository, :method => :generate_repository | |||
|
5 | ||||
|
6 | def self.next_revision | |||
|
7 | @last_revision ||= '1' | |||
|
8 | @last_revision.succ! | |||
|
9 | @last_revision | |||
|
10 | end | |||
|
11 | ||||
|
12 | def self.generate_repository | |||
|
13 | Repository::Subversion.generate! | |||
|
14 | end | |||
|
15 | end |
@@ -0,0 +1,13 | |||||
|
1 | class Comment < ActiveRecord::Base | |||
|
2 | generator_for :commented, :method => :generate_news | |||
|
3 | generator_for :author, :method => :generate_author | |||
|
4 | generator_for :comments => 'What great news this is.' | |||
|
5 | ||||
|
6 | def self.generate_news | |||
|
7 | News.generate! | |||
|
8 | end | |||
|
9 | ||||
|
10 | def self.generate_author | |||
|
11 | User.generate_with_protected! | |||
|
12 | end | |||
|
13 | end |
@@ -0,0 +1,9 | |||||
|
1 | class Document < ActiveRecord::Base | |||
|
2 | generator_for :title, :method => :next_title | |||
|
3 | ||||
|
4 | def self.next_title | |||
|
5 | @last_title ||= 'Document001' | |||
|
6 | @last_title.succ! | |||
|
7 | @last_title | |||
|
8 | end | |||
|
9 | end |
@@ -0,0 +1,10 | |||||
|
1 | class EnabledModule < ActiveRecord::Base | |||
|
2 | generator_for :name, :method => :next_name | |||
|
3 | ||||
|
4 | def self.next_name | |||
|
5 | @last_name ||= 'module_001' | |||
|
6 | @last_name.succ! | |||
|
7 | @last_name | |||
|
8 | end | |||
|
9 | ||||
|
10 | end |
@@ -0,0 +1,10 | |||||
|
1 | class Group < Principal | |||
|
2 | generator_for :lastname, :method => :next_lastname | |||
|
3 | ||||
|
4 | def self.next_lastname | |||
|
5 | @last_lastname ||= 'Group' | |||
|
6 | @last_lastname.succ! | |||
|
7 | @last_lastname | |||
|
8 | end | |||
|
9 | ||||
|
10 | end |
@@ -0,0 +1,9 | |||||
|
1 | class IssueCategory < ActiveRecord::Base | |||
|
2 | generator_for :name, :method => :next_name | |||
|
3 | ||||
|
4 | def self.next_name | |||
|
5 | @last_name ||= 'Category 0001' | |||
|
6 | @last_name.succ! | |||
|
7 | @last_name | |||
|
8 | end | |||
|
9 | end |
@@ -0,0 +1,13 | |||||
|
1 | class Journal < ActiveRecord::Base | |||
|
2 | generator_for :journalized, :method => :generate_issue | |||
|
3 | generator_for :user, :method => :generate_user | |||
|
4 | ||||
|
5 | def self.generate_issue | |||
|
6 | project = Project.generate! | |||
|
7 | Issue.generate_for_project!(project) | |||
|
8 | end | |||
|
9 | ||||
|
10 | def self.generate_user | |||
|
11 | User.generate_with_protected! | |||
|
12 | end | |||
|
13 | end |
@@ -0,0 +1,12 | |||||
|
1 | class MemberRole < ActiveRecord::Base | |||
|
2 | generator_for :member, :method => :generate_member | |||
|
3 | generator_for :role, :method => :generate_role | |||
|
4 | ||||
|
5 | def self.generate_role | |||
|
6 | Role.generate! | |||
|
7 | end | |||
|
8 | ||||
|
9 | def self.generate_member | |||
|
10 | Member.generate! | |||
|
11 | end | |||
|
12 | end |
@@ -0,0 +1,21 | |||||
|
1 | class Message < ActiveRecord::Base | |||
|
2 | generator_for :subject, :method => :next_subject | |||
|
3 | generator_for :content, :method => :next_content | |||
|
4 | generator_for :board, :method => :generate_board | |||
|
5 | ||||
|
6 | def self.next_subject | |||
|
7 | @last_subject ||= 'A Message' | |||
|
8 | @last_subject.succ! | |||
|
9 | @last_subject | |||
|
10 | end | |||
|
11 | ||||
|
12 | def self.next_content | |||
|
13 | @last_content ||= 'Some content here' | |||
|
14 | @last_content.succ! | |||
|
15 | @last_content | |||
|
16 | end | |||
|
17 | ||||
|
18 | def self.generate_board | |||
|
19 | Board.generate! | |||
|
20 | end | |||
|
21 | end |
@@ -0,0 +1,16 | |||||
|
1 | class News < ActiveRecord::Base | |||
|
2 | generator_for :title, :method => :next_title | |||
|
3 | generator_for :description, :method => :next_description | |||
|
4 | ||||
|
5 | def self.next_title | |||
|
6 | @last_title ||= 'A New Item' | |||
|
7 | @last_title.succ! | |||
|
8 | @last_title | |||
|
9 | end | |||
|
10 | ||||
|
11 | def self.next_description | |||
|
12 | @last_description ||= 'Some content here' | |||
|
13 | @last_description.succ! | |||
|
14 | @last_description | |||
|
15 | end | |||
|
16 | end |
@@ -0,0 +1,11 | |||||
|
1 | class Repository < ActiveRecord::Base | |||
|
2 | generator_for :type => 'Subversion' | |||
|
3 | generator_for :url, :method => :next_url | |||
|
4 | ||||
|
5 | def self.next_url | |||
|
6 | @last_url ||= 'file:///test/svn' | |||
|
7 | @last_url.succ! | |||
|
8 | @last_url | |||
|
9 | end | |||
|
10 | ||||
|
11 | end |
@@ -0,0 +1,11 | |||||
|
1 | class Repository::Subversion < Repository | |||
|
2 | generator_for :type, :method => 'Subversion' | |||
|
3 | generator_for :url, :method => :next_url | |||
|
4 | ||||
|
5 | def self.next_url | |||
|
6 | @last_url ||= 'file:///test/svn' | |||
|
7 | @last_url.succ! | |||
|
8 | @last_url | |||
|
9 | end | |||
|
10 | ||||
|
11 | end |
@@ -0,0 +1,7 | |||||
|
1 | class Watcher < ActiveRecord::Base | |||
|
2 | generator_for :user, :method => :generate_user | |||
|
3 | ||||
|
4 | def self.generate_user | |||
|
5 | User.generate_with_protected! | |||
|
6 | end | |||
|
7 | end |
@@ -0,0 +1,8 | |||||
|
1 | class WikiContent < ActiveRecord::Base | |||
|
2 | generator_for :text => 'Some content' | |||
|
3 | generator_for :page, :method => :generate_page | |||
|
4 | ||||
|
5 | def self.generate_page | |||
|
6 | WikiPage.generate! | |||
|
7 | end | |||
|
8 | end |
@@ -0,0 +1,8 | |||||
|
1 | class Wiki < ActiveRecord::Base | |||
|
2 | generator_for :start_page => 'Start' | |||
|
3 | generator_for :project, :method => :generate_project | |||
|
4 | ||||
|
5 | def self.generate_project | |||
|
6 | Project.generate! | |||
|
7 | end | |||
|
8 | end |
@@ -0,0 +1,14 | |||||
|
1 | class WikiPage < ActiveRecord::Base | |||
|
2 | generator_for :title, :method => :next_title | |||
|
3 | generator_for :wiki, :method => :generate_wiki | |||
|
4 | ||||
|
5 | def self.next_title | |||
|
6 | @last_title ||= 'AWikiPage' | |||
|
7 | @last_title.succ! | |||
|
8 | @last_title | |||
|
9 | end | |||
|
10 | ||||
|
11 | def self.generate_wiki | |||
|
12 | Wiki.generate! | |||
|
13 | end | |||
|
14 | end |
@@ -0,0 +1,21 | |||||
|
1 | class WikiRedirect < ActiveRecord::Base | |||
|
2 | generator_for :title, :method => :next_title | |||
|
3 | generator_for :redirects_to, :method => :next_redirects_to | |||
|
4 | generator_for :wiki, :method => :generate_wiki | |||
|
5 | ||||
|
6 | def self.next_title | |||
|
7 | @last_title ||= 'AWikiPage' | |||
|
8 | @last_title.succ! | |||
|
9 | @last_title | |||
|
10 | end | |||
|
11 | ||||
|
12 | def self.next_redirects_to | |||
|
13 | @last_redirect ||= '/a/path/000001' | |||
|
14 | @last_redirect.succ! | |||
|
15 | @last_redirect | |||
|
16 | end | |||
|
17 | ||||
|
18 | def self.generate_wiki | |||
|
19 | Wiki.generate! | |||
|
20 | end | |||
|
21 | end |
@@ -1,2 +1,7 | |||||
1 | class CustomValue < ActiveRecord::Base |
|
1 | class CustomValue < ActiveRecord::Base | |
|
2 | generator_for :custom_field, :method => :generate_custom_field | |||
|
3 | ||||
|
4 | def self.generate_custom_field | |||
|
5 | CustomField.generate! | |||
|
6 | end | |||
2 | end |
|
7 | end |
@@ -1,2 +1,12 | |||||
1 | class Member < ActiveRecord::Base |
|
1 | class Member < ActiveRecord::Base | |
|
2 | generator_for :roles, :method => :generate_roles | |||
|
3 | generator_for :principal, :method => :generate_user | |||
|
4 | ||||
|
5 | def self.generate_roles | |||
|
6 | [Role.generate!] | |||
|
7 | end | |||
|
8 | ||||
|
9 | def self.generate_user | |||
|
10 | User.generate_with_protected! | |||
|
11 | end | |||
2 | end |
|
12 | end |
@@ -1,5 +1,10 | |||||
1 | class TimeEntry < ActiveRecord::Base |
|
1 | class TimeEntry < ActiveRecord::Base | |
2 | generator_for(:spent_on) { Date.today } |
|
2 | generator_for(:spent_on) { Date.today } | |
3 | generator_for(:hours) { (rand * 10).round(2) } # 0.01 to 9.99 |
|
3 | generator_for(:hours) { (rand * 10).round(2) } # 0.01 to 9.99 | |
|
4 | generator_for :user, :method => :generate_user | |||
4 |
|
5 | |||
|
6 | def self.generate_user | |||
|
7 | User.generate_with_protected! | |||
|
8 | end | |||
|
9 | ||||
5 | end |
|
10 | end |
@@ -1,14 +1,29 | |||||
1 | module ObjectDaddyHelpers |
|
1 | module ObjectDaddyHelpers | |
2 | # TODO: The gem or official version of ObjectDaddy doesn't set |
|
2 | # TODO: The gem or official version of ObjectDaddy doesn't set | |
3 | # protected attributes so they need to be wrapped. |
|
3 | # protected attributes so they need to be wrapped. | |
|
4 | def User.generate_with_protected(attributes={}) | |||
|
5 | user = User.spawn_with_protected(attributes) | |||
|
6 | user.save | |||
|
7 | user | |||
|
8 | end | |||
|
9 | ||||
|
10 | # TODO: The gem or official version of ObjectDaddy doesn't set | |||
|
11 | # protected attributes so they need to be wrapped. | |||
4 | def User.generate_with_protected!(attributes={}) |
|
12 | def User.generate_with_protected!(attributes={}) | |
|
13 | user = User.spawn_with_protected(attributes) | |||
|
14 | user.save! | |||
|
15 | user | |||
|
16 | end | |||
|
17 | ||||
|
18 | # TODO: The gem or official version of ObjectDaddy doesn't set | |||
|
19 | # protected attributes so they need to be wrapped. | |||
|
20 | def User.spawn_with_protected(attributes={}) | |||
5 | user = User.spawn(attributes) do |user| |
|
21 | user = User.spawn(attributes) do |user| | |
6 | user.login = User.next_login |
|
22 | user.login = User.next_login | |
7 | attributes.each do |attr,v| |
|
23 | attributes.each do |attr,v| | |
8 | user.send("#{attr}=", v) |
|
24 | user.send("#{attr}=", v) | |
9 | end |
|
25 | end | |
10 | end |
|
26 | end | |
11 | user.save! |
|
|||
12 | user |
|
27 | user | |
13 | end |
|
28 | end | |
14 |
|
29 |
General Comments 0
You need to be logged in to leave comments.
Login now