У меня есть следующие модели:
class Person < ActiveRecord::Base
belongs_to :family
end
class Family < ActiveRecord::Base
end
И следующие заводы:
Factory.define :person do |p|
p.association :family
end
Factory.define :family do |f|
end
И я использую шаги огурца factory_girl, например:
Given the following people exist:
| First name | Last name |
| John | Doe |
Given the following people exist:
| First name | Last name | Family |
| John | Doe | Name: Doe's family |
Я хотел бы создать людей без связанных семей, используя первую форму, а последнюю - для создания людей с семьями. Теперь у каждого человека есть семья. На самом деле, использование первой формы не удается, потому что у меня также есть validates_presence_of :name
в Family
классе.
Если я удаляю p.association :family
из определения фабрики Person
, последняя форма завершается ошибкой, потому что она пытается установить строку как связанную запись (она выполняет что-то вроде family = "Name: ..."
).
Возможно ли иметь необязательные ассоциации в шагах Cucumber, определенных factory_girl?