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