Factory.define :user do |user|
user.name 'Some guy'
user.email '[email protected]'
user.password 'password'
end
Factory.define :org_admin, :parent => :user do |user|
user.email '[email protected]'
end
Factory.define :user_with_membership_request, :parent => :user do |user|
user.email '[email protected]'
end
Factory.define :organization do |org|
org.name 'MEC'
org.description 'Mountain Equipment Co-op'
end
Factory.define :membership do |membership|
membership.user { Factory(:user) }
membership.organization { Factory(:organization) }
end
Factory.define :admin_membership, :parent => :membership do |membership|
membership.user { Factory(:org_admin) }
membership.is_admin true
membership.status 'active'
end
Factory.define :membership_request, :parent => :membership do |membership|
membership.user { Factory(:user_with_membership_request) }
membership.status 'requested'
end
sonra benim RSpec testte ben:
it 'should accept the membership request' do
@org_admin = Factory(:org_admin)
test_sign_in(@org_admin)
@organization = Factory(:organization)
@membership_request = Factory(:membership_request)
put :update, :organization_id => @organization.id, :id => @membership_request.id, :acceptance => 'approve'
...
end
Testi çalıştırdığımda, şunu elde ederim:
Başarısızlığın sebebini anlıyorum çünkü FactoryGirl başka bir kuruluş oluşturuyor (aynı isimle).
Fakat yapmak istediğim, aynı kuruluşla ilişkilendirilmiş birkaç üyelik oluşturmaktır. Bunu nasıl yaparım?
Teşekkürler.
Sean
Teşekkürler Zeteic. Bunu kullandım. Şimdilik işe yarıyor. (Birden fazla Org olduğunda, sanırım başka bir çözüm bulmalıyım sanırım .. başka bir gün için başka bir problem ". –