Наистина се опитвам да си обясня как да създавам сложни фабрики с Factory Girl и това НЕ е лесно.
Имам следното:
Абонаментът принадлежи на потребителя
Абонаментът принадлежи към плана
Искам да тествам различни Plans
. Ето как го настроих:
FactoryGirl.define do
factory :plan do
trait :copper do
name { "Copper" }
amount { 5 }
stripe_id { "Economy" }
listing_limit { 10 }
repositories_allowed { 1 }
end
trait :copper_multi do
name { "Copper Multi" }
amount { 10 }
stripe_id { "Copper_Multi" }
listing_limit { 10 }
repositories_allowed { 5 }
end
trait :bronze do
name { "Bronze" }
amount { 5 }
stripe_id { "Basic" }
listing_limit { 10 }
repositories_allowed { 1 }
end
trait :bronze_multi do
name { "Bronze Multi" }
amount { 10 }
stripe_id { "Basic_Multi" }
listing_limit { 10 }
repositories_allowed { 5 }
end
end
end
Subscription
фабриката е:
FactoryGirl.define do
factory :subscription do
association :user
association :plan
start_date { Time.now }
end_date { 365.days.from_now }
end
end
Естествено, това се проваля, тъй като фабриката Plan
не може да се използва, без също да се посочи черта. Това е по проект.
Освен това каква е разликата между:
factory :subscription do
association :user
end
и:
factory :subscription do
user
end