0

私は本当に簡単なモデルを持っています。ユーザーには、ロール参照を持つロール テーブル (ID、名前) に依存する role_id があります。

工場の女の子を使用して、rspec テストで任意のタイプのユーザーを作成したいと考えています。

私の最初のアイデアはそのようなものです

factory :role do
  name "guest"
  factory :role_admin do
    name "admin"
  end
  factory :role_supervisor do
    name "supervisor"
  end
  etc... I have a lot a different roles
end



factory :user do
  email
  password '123456'
  password_confirmation '123456'
  association :role, factory: :role

  factory :admin do
    association :role, factory: :role_admin
  end
  factory :supervisor do
    association :role, factory: :role_supervisor
  end
  etc... I have a lot a different roles
end

私のモデルでは、簡単な方法があります:

def is(role_name) 
  return self.role.name == role_name
end

それは正しい方法ですか?ロールのファクトリを作成する必要は本当にありますか? ロールごとに factory girl でこの関数のスタブを作成できますか?

私はそのすべてのテストについて本当に新しいです、ありがとう。

4

1 に答える 1