Que tal?

Requiero de su ayuda, ya que hay algo que definitivamente no estoy
entendiendo al querer usar factory_girl. Estoy usando rspec para
testear una app rails.

Acá pongo una simplificacion del problema.

class ClaseA
  has_many :clases_b
end

class ClaseB
  belongs_to :clase_a
  belongs_to :clase_c
end

class ClaseC
  validates_uniqueness_of :nombre
end

La cuestion, es que defino las factories por ej.

Factory.define :clase_a_valida, :class => ClaseA do |f|
  f.clases_b {|cb| [ cb.association(:clase_b_valida, :nombre => 'un
objeto b'), :clase_b_valida, :nombre => 'otro objeto b')]}
end

Factory.define :clase_b_valida, :class => ClaseB do |f|
  f.association :clase_c, :factory => :clase_c_valida
end

Factory.define :clase_c_valida, :class => ClaseC do |f|
  f.nombre 'un objeto c'
end

Cuando se crea una clase_a_valida, yo necesito que los objetos de
ClaseB tengan nombres distintos, pero que todos tengan una relacion
belongs_to al mismo objeto de ClaseC.

El problema, es que cuando quiero crear una clase_a_valida salta error
en la validacion de uniqueness del nombre, en la clase C. Yo no quiero
crear nuevas clases C (donde SI deberia aplicar la validacion), sino
que se referencie siempre a la misma clase C.. me explico?

Que estoy haciendo/pensando mal? Como deberia hacerlo/pensarlo?

Gracias.
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a