tutorial rails factorygirl factorybot example bot ruby-on-rails ruby-on-rails-3 factory-bot

ruby-on-rails - rails - factorygirl ruby



Cómo definir fábricas con un modelo de usuario de herencia. (2)

Tengo el siguiente problema: en mi aplicación, uso la herencia para definir mi modelo de usuario:

class User include Mongoid::Document field :name... field :bla... end class CustomUser < User field :customuserfield... end

¿Cómo puedo escribir fábricas para mapear esta clase hirachie en mis especificaciones. Y sigue escribiendo con no te repitas.

FactoryGirl.define do factory :user do name "name" bla "bla" factory :custom_user do customfield "customfield" end end end

Esto no me funciona porque la clase también es "Usuario". Con "Usuario" obtuve un error no válido porque los campos personalizados no están definidos aquí. ¿Existe una buena práctica, forma o método para aprovechar algo así?


Puedes probar esto:

factory :user do name "name" bla "bla" end factory :custom_user, class: CustomUser, parent: :user do customfield "customfield" end

Para más información: Inheritance .


Solo agregue la clase: CustomUser a: custom_user factory. Funciona para mi. Cuando está anidado en: usuario, significa que padre es Usuario, pero es más sencillo.

FactoryGirl.define do factory :user do name "name" bla "bla" factory :custom_user, class: CustomUser do customfield "customfield" end end end