Я новичок в FactoryGirl.Не удалось выполнить проверку: код [Объект] уже принят
У меня много моделей FactoryGirl. Они связаны друг с другом.
Я объявил следующие модели, как показано ниже:
class Organization < ActiveRecord::Base
has_many :org_plan_years
has_many :subscribers
end
class Subscriber < ActiveRecord::Base
belongs_to :organization
end
class OrgPlanYear < ActiveRecord::Base
belongs_to :organization
has_many :coverages
end
class Coverage < ActiveRecord::Base
belongs_to :subscriber
belongs_to :org_plan_year
belongs_to :organization
end
И определить FactoryGirl:
заводы/organizations.rb
FactoryGirl.define do
factory :organization_benefit, class Organization do
name 'Benefit'
organization_code '2341'
end
end
заводы/subscribers.rb
FactoryGirl.define do
factory :subscriber_875450002, class: Subscriber do
association :organization, factory: :organization_benefit
ssn 875450002
end
end
заводы/org_plan_years.rb
FactoryGirl.define do
factory :org_plan_year_benefit, class: OrgPlanYear do
association :organization, factory: :organization_benefit
name 'First OPY'
end
end
заводы/coverages.rb
FactoryGirl.define do
factory :coverage_1, class: Coverage do
association :subscriber, factory: :subscriber_875450002
association :org_plan_year, factory: :org_plan_year_benefit
end
end
Образец теста:
it 'test' do
FactoryGirl.create(:coverage_1)
end
Когда я запускаю мой тест , Я получаю ошибку:
ActiveRecord::RecordInvalid: Validation failed: Organization code has already been taken
Я думаю, проблема вызвана тем, что я организовал организацию несколько раз на заводах, но я не могу решить проблему.
Действительно ли это полные определения ваших моделей? Сообщаемое вами сообщение об ошибке предполагает, что для них есть больше, например проверки. Кроме того, какова цель вашего завода ': coverage_1' с точки зрения уникальности организации, учитывая, что прямые и косвенные ассоциации приводят к созданию двух организаций? –