Tengo las siguientes fábricas:error Factory Girl con relación has_many
Factory.define :email do |email|
email.email {"infomcburney.cowan.com"}
end
Factory.define :lead do |lead|
lead.emails {|emails| [emails.association(:email)]}
end
Qué está modelando las siguientes clases
class Lead < ActiveRecord::Base
has_many :emails
end
class Email < ActiveRecord::Base
belongs_to :lead, :class_name => "Lead", :foreign_key => "lead_id"
end
Cuando ejecuto el presente ensayo a través de la debería:
should "capture emails" do
lead = Factory.build(:lead)
assert_equal(1, lead.emails.size)
end
me sale el siguiente error:
Factory::AttributeDefinitionError: Attribute already defined: emails
estoy completamente atascado en esto, alguien me puede apuntar en la dirección correcta. Estoy usando factory_girl 1.3.2.
Punto de estilo: las fábricas deben contener datos de marcador de posición y nada más. Todo lo que debería importarle al usarlos es que se genere una ventaja válida, y debe suponer que la cantidad real de correos electrónicos conectados al cliente potencial está sujeta a cambios. Si su prueba depende de una cierta cantidad de clientes potenciales, construya el cliente potencial de fábrica y configure los correos electrónicos explícitamente. – Matchu