summaryrefslogtreecommitdiff
path: root/spec/factories.rb
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2012-08-28 01:42:28 -0400
committerRobert Speicher <rspeicher@gmail.com>2012-08-28 21:22:49 -0400
commitc9c1f76e002d899dd6765c4c1630697cc5068f27 (patch)
tree0ab18369aa5df80c89b1618e4de75eaa33da174b /spec/factories.rb
parent4805c64f2a96e8a9ea5a0e94a820d840fa1675e0 (diff)
downloadgitlab-ce-c9c1f76e002d899dd6765c4c1630697cc5068f27.tar.gz
All specs and features currently passing with FactoryGirl
Diffstat (limited to 'spec/factories.rb')
-rw-r--r--spec/factories.rb107
1 files changed, 107 insertions, 0 deletions
diff --git a/spec/factories.rb b/spec/factories.rb
new file mode 100644
index 00000000000..eb3882a6bee
--- /dev/null
+++ b/spec/factories.rb
@@ -0,0 +1,107 @@
+# Backwards compatibility with the old method
+def Factory(type, *args)
+ FactoryGirl.create(type, *args)
+end
+
+module Factory
+ def self.create(type, *args)
+ FactoryGirl.create(type, *args)
+ end
+
+ def self.new(type, *args)
+ FactoryGirl.build(type, *args)
+ end
+end
+
+FactoryGirl.define do
+ sequence :sentence, aliases: [:title, :content] do
+ Faker::Lorem.sentence
+ end
+
+ sequence(:url) { Faker::Internet.uri('http') }
+
+ factory :user, aliases: [:author, :assignee, :owner] do
+ email { Faker::Internet.email }
+ name { Faker::Name.name }
+ password "123456"
+ password_confirmation "123456"
+
+ trait :admin do
+ admin true
+ end
+
+ factory :admin, traits: [:admin]
+ end
+
+ factory :project do
+ sequence(:name) { |n| "project#{n}" }
+ path { name }
+ code { name }
+ owner
+ end
+
+ factory :users_project do
+ user
+ project
+ end
+
+ factory :issue do
+ title
+ author
+ project
+
+ trait :closed do
+ closed true
+ end
+
+ factory :closed_issue, traits: [:closed]
+ end
+
+ factory :merge_request do
+ title
+ author
+ project
+ source_branch "master"
+ target_branch "stable"
+ end
+
+ factory :note do
+ project
+ note "Note"
+ end
+
+ factory :event do
+ end
+
+ factory :key do
+ title
+ key { File.read(File.join(Rails.root, "db", "pkey.example")) }
+ end
+
+ factory :milestone do
+ title
+ project
+ end
+
+ factory :system_hook do
+ url
+ end
+
+ factory :project_hook do
+ url
+ end
+
+ factory :wiki do
+ title
+ content
+ user
+ end
+
+ factory :snippet do
+ project
+ author
+ title
+ content
+ file_name { Faker::Lorem.sentence }
+ end
+end