FactoryGirl: Как создать фабрику один раз и использовать ее везде, даже в ассоциациях? - PullRequest
0 голосов
/ 31 марта 2012

У меня две фабрики определены (есть и другие, которые не показаны) следующим образом:

Соискатели и SavedSearch

FactoryGirl.define do
  factory :job_seeker do
    type Role::JOB_SEEKER_TYPE
    commenced_on { rand(60).days.ago }
  end

  factory :saved_search do
    title   { Faker::Company.bs + ' title' }
    association :job_seeker
    saved_on    { rand(10).days.ago }
  end
end

Если я создаю экземпляр соискателя, используя определения шагов FactoryGirl, например:

Given 1 job seeker exists

Тогда, когда я сделаю:

Given 3 saved searches exist

Я получаю 3 save_searches, но все с новыми job_seekers (как должно быть, как указано) - но не то, что я хочу.

Все поиски должны ссылаться на уже созданного первого соискателя.

Как я могу сослаться на оригинальную фабрику job_seeker (уже созданную) в связи с: save_search.

Использование:

cucumber-1.1.9
factory_girl_rails-1.7.0
factory_girl-2.6.4
rails-3.0.12

1 Ответ

0 голосов
/ 23 июня 2012

Он делает то, что должен.job_seeker {JobSeeker.first ||ассоциация (: job_seeker)} исправила проблему.

...