diff --git a/app/models/schedule.rb b/app/models/schedule.rb index c28b9ae029..5fe5da3205 100644 --- a/app/models/schedule.rb +++ b/app/models/schedule.rb @@ -3,9 +3,8 @@ class Schedule < ActiveRecord::Base has_many :order_cycles, through: :order_cycle_schedules has_many :order_cycle_schedules, dependent: :destroy - has_many :coordinators, -> { uniq }, through: :order_cycles - validates :order_cycles, presence: true + has_many :coordinators, -> { uniq }, through: :order_cycles scope :with_coordinator, lambda { |enterprise| joins(:order_cycles).where('coordinator_id = ?', enterprise.id).select('DISTINCT schedules.*') } diff --git a/spec/factories.rb b/spec/factories.rb index 32caef0f4f..d13757cb2a 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -28,7 +28,16 @@ FactoryBot.define do factory :schedule, class: Schedule do sequence(:name) { |n| "Schedule #{n}" } - order_cycles { [OrderCycle.first || FactoryBot.create(:simple_order_cycle)] } + + transient do + order_cycles { [OrderCycle.first || create(:simple_order_cycle)] } + end + + before(:create) do |schedule, evaluator| + evaluator.order_cycles.each do |order_cycle| + order_cycle.schedules << schedule + end + end end factory :proxy_order, class: ProxyOrder do