Permalink
Browse files

Prevent redefinition of factories

This commit catches Factory::DuplicateDefinitionErrors raised by
factory_girl 2.1.0. See the following thread for some background.

http://groups.google.com/group/factory_girl/browse_thread/thread/4df21d9240c20198
  • Loading branch information...
1 parent a0c2da7 commit b0120e95bafc28c8469d4c0699b6fb614d1d7deb @jstepien jstepien committed Sep 5, 2011
Showing with 21 additions and 17 deletions.
  1. +21 −17 spec/factories/factories.rb
@@ -1,21 +1,25 @@
-Factory.define :user do |u|
- u.sequence(:login) { |n| "testuser#{n}" }
- u.password "secret"
- u.password_confirmation { |user| user.password }
- u.is_admin false
-end
+begin
+ Factory.define :user do |u|
+ u.sequence(:login) { |n| "testuser#{n}" }
+ u.password "secret"
+ u.password_confirmation { |user| user.password }
+ u.is_admin false
+ end
-Factory.define :context do |c|
- c.sequence(:name) { |n| "testcontext#{n}" }
- c.hide false
- c.created_at Time.now.utc
-end
+ Factory.define :context do |c|
+ c.sequence(:name) { |n| "testcontext#{n}" }
+ c.hide false
+ c.created_at Time.now.utc
+ end
-Factory.define :project do |p|
- p.sequence(:name) { |n| "testproject#{n}" }
-end
+ Factory.define :project do |p|
+ p.sequence(:name) { |n| "testproject#{n}" }
+ end
-Factory.define :todo do |t|
- t.sequence(:description) { |n| "testtodo#{n}" }
- t.association :context
+ Factory.define :todo do |t|
+ t.sequence(:description) { |n| "testtodo#{n}" }
+ t.association :context
+ end
+rescue FactoryGirl::DuplicateDefinitionError
+ # No problem, apparently this file was included already.
end

0 comments on commit b0120e9

Please sign in to comment.