I am using Factory Girl but like the machinist syntax. So I wonder, if there is any way creating a named blueprint for class, so that I can have something like that:
User.blueprint(:no_discount_user) do
admin false
hashed_password "226bc1eca359a09f5f1b96e26efeb4bb1aeae383"
is_trader false
name "foolish"
salt "21746899800.223524289203464"
end
User.blueprint(:discount_user) do
admin false
hashed_password "226bc1eca359a09f5f1b96e26efeb4bb1aeae383"
is_trader true
name "deadbeef"
salt "21746899800.223524289203464"
discount_rate { DiscountRate.make(:rate => 20.00) }
end
DiscountRate.blueprint do
rate {10}
not_before ...
not_after ...
end
Is there a way making factory_girl with machinist syntax acting like that? I did not find one. Help appreciated.
Thx in advance Jason
From stackoverflow
-
Yes you can. require blueprint syntaxe
require 'factory_girl/syntax/blueprint' Sham.email {|n| "#{n}@example.com" } User.blueprint do name { 'Billy Bob' } email { Sham.email } end User.make(:name => 'Johnny')
Jason Nerer : shingara, I know, thats the way I'm using it. But the question ist, if one can use named blueprints like: User.blueprint(:no_discount_user) do and User.blueprint(:discount_user) do so that I can call: User(:discount_user).make to create a user with a discountrate and User(:no_discount_user).make to create a user without. It would make Cucumber step definition much dryer in my case. But it seems I need to switch to machinist instead.shingara : Yes I think it's not possible. The extension of factory_girl can't made that
0 comments:
Post a Comment