FactoryBot Eventable ID - PullRequest
       7

FactoryBot Eventable ID

0 голосов
/ 12 сентября 2018

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

factory :order_with_approval do
   status      'approved'
   association :approval, factory: :approval
end

Теперь мне нужна модель утверждения, чтобы взять идентификатор заказа и установить его в качестве четного идентификатора.Я смог выяснить это в другом направлении, выполнив:

factory :cancellation do
  reason 'a reason'
  cancellation_date Date.current
  association :eventable, factory: :order
end

Так что может сработать, если я смогу передать в ассоциацию что-то, кроме новой фабрики.То, что я хотел бы сделать, это пройти на родительской фабрике.Это возможно?Могу ли я достичь этого другим способом?

1 Ответ

0 голосов
/ 12 сентября 2018

Перекрестные ссылки могут быть разрешены с помощью предложения after как , показанного здесь :

factory :order_with_approval do
  status 'approved'
  association :approval, factory: :approval

  after(:build, :create) do |order, _evaluator|
    order.approval.update_attributes!(eventable: order)
  end
end
...