Usine usine imbriquée
J'ai un compte modèle belongs_to un modèle de rôle.
factory :role do
name "student"
end
factory :account do
user
role
end
La première usine crée un rôle nommé "étudiant". Le deuxième usine crée un compte qui est associé à l'étudiant le rôle qui a été créé dans le précédent usine. Il est également associé à un utilisateur...ce qui n'est pas important pour cette question.
J'ai beaucoup de rôles à être testé (administrateur, étudiant, assistant)... je ne veux pas spécifier "étudiant" dans le rôle de l'usine...c'est trop statique. Comment puis-je spécifier quel rôle pour créer à la fois le compte de l'usine est créée? Comme:
factory :account do
user
role_id { factory :role { name: "admin"} }
end
Quelle est la meilleure façon d'accomplir cette?
source d'informationauteur hellion | 2012-12-30
Vous devez vous connecter pour publier un commentaire.
Si vous voulez purement FG solution, vous pouvez utiliser les caractères de
Toutefois, vous pouvez remplacer les propriétés de l'usine lorsque vous créez l'objet usine. Cela permet plus de flexibilité:
Puisque c'est évidemment verbeux, j'aimerais créer une petite aide de la méthode:
Ensuite dans vos tests:
Alternativement, vous pouvez simplement raccourcir au maximum de votre rôle de générateur, vous pouvez l'utiliser comme: