Czy to możliwe, aby zachować strategię budowania kiedy mam fabrykę dla modelu, który ma związek z drugim modelu, który sam ma stowarzyszenie do trzeciego modelu?FactoryGirl strategia budować z zagnieżdżonych stowarzyszeń
W poniższym przykładzie Post jest powiązany z Użytkownikiem, a Użytkownik jest powiązany z Miastem. Nawet jeśli dla wszystkich skojarzeń użyto :strategy => :build
, zapisywanie do bazy danych kończy się post.user
i post.user.city
. Czy w interesie szybkiego zestawu testów mogę zapobiec powstawaniu zapisów w bazie danych?
Factory.define do
factory :user do
name "A User"
association :city, :strategy => :build
end
factory :city do
name "A City"
end
factory :post do
title "A Post"
body "Some text here"
association :user, :strategy => :build
end
end
post = FactoryGirl.build(:post)
post.new_record? # True
post.user.new_record? # False
post.user.city.new_record? # False