私のアプリケーションでは、ユーザーを作成するには、プログラムが既に存在している必要があります。ユーザーが作成されると、ユーザー属性に一致するプログラムが割り当てられます。適切なプログラムが存在せず、例外が発生した場合、ユーザーを作成できるようにプログラムを作成する方法を見つけようとしています。
現在、私はテストでこれを行っています:
subject(:user) do
Program.create!(name: 'test', gender: 'Female', goal_id: '1', experience_id: '1')
User.create!(email: 'test@test.com', password: '12345678', password_confirmation: '12345678', goal_id: '1', experience_level_id: '1', gender: 'Female')
end
代わりに、次のように Factory を作成したいと思います。
FactoryGirl.define do
factory :user do
email 'test@test.com'
password '12345678'
password_confirmation '12345678'
goal_id 1
experience_level_id 1
gender 'Female'
end
end
FactoryGirl を使用して、そのユーザーが既に存在するプログラムを必要とする場合、ユーザーを作成するにはどうすればよいですか?