Skip to content

Commit

Permalink
Don't require a block to be passed when defining a factory
Browse files Browse the repository at this point in the history
  • Loading branch information
joshuaclayton committed Jun 29, 2011
1 parent 90ea1fe commit 4d8d419
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 17 deletions.
2 changes: 1 addition & 1 deletion lib/factory_girl/syntax/default.rb
Expand Up @@ -15,7 +15,7 @@ def self.run(block)
def factory(name, options = {}, &block)
factory = Factory.new(name, options)
proxy = FactoryGirl::DefinitionProxy.new(factory)
proxy.instance_eval(&block)
proxy.instance_eval(&block) if block_given?
if parent = options.delete(:parent)
factory.inherit_from(FactoryGirl.factory_by_name(parent))
end
Expand Down
3 changes: 1 addition & 2 deletions spec/acceptance/attribute_aliases_spec.rb
Expand Up @@ -10,8 +10,7 @@
end

FactoryGirl.define do
factory :user do
end
factory :user

factory :post do
user
Expand Down
3 changes: 1 addition & 2 deletions spec/acceptance/attributes_for_spec.rb
Expand Up @@ -15,8 +15,7 @@
end

FactoryGirl.define do
factory :user do
end
factory :user

factory :post do
title { "default title" }
Expand Down
3 changes: 1 addition & 2 deletions spec/acceptance/build_spec.rb
Expand Up @@ -12,8 +12,7 @@
end

FactoryGirl.define do
factory :user do
end
factory :user

factory :post do
user
Expand Down
3 changes: 1 addition & 2 deletions spec/acceptance/build_stubbed_spec.rb
Expand Up @@ -14,8 +14,7 @@
end

FactoryGirl.define do
factory :user do
end
factory :user

factory :post do
title { "default title" }
Expand Down
3 changes: 1 addition & 2 deletions spec/acceptance/create_spec.rb
Expand Up @@ -12,8 +12,7 @@
end

FactoryGirl.define do
factory :user do
end
factory :user

factory :post do
user
Expand Down
6 changes: 2 additions & 4 deletions spec/acceptance/default_strategy_spec.rb
Expand Up @@ -6,8 +6,7 @@
define_model('User')

FactoryGirl.define do
factory :user do
end
factory :user
end

Factory(:user).should_not be_new_record
Expand All @@ -17,8 +16,7 @@
define_model('User')

FactoryGirl.define do
factory :user, :default_strategy => :build do
end
factory :user, :default_strategy => :build
end

Factory(:user).should be_new_record
Expand Down
3 changes: 1 addition & 2 deletions spec/acceptance/definition_spec.rb
Expand Up @@ -6,8 +6,7 @@
define_model("User", :admin => :boolean)

FactoryGirl.define do
factory :user do
end
factory :user

factory :admin, :class => User do
admin { true }
Expand Down
16 changes: 16 additions & 0 deletions spec/acceptance/definition_without_block_spec.rb
@@ -0,0 +1,16 @@
require 'spec_helper'
require 'acceptance/acceptance_helper'

describe "an instance generated by a factory" do
before do
define_model("User")

FactoryGirl.define do
factory :user
end
end

it "registers the user factory" do
FactoryGirl.factory_by_name(:user).should be_a(FactoryGirl::Factory)
end
end

0 comments on commit 4d8d419

Please sign in to comment.