Allow to create order_cycle_schedules

There's no way we can create an order_cycle_schedules if the schedule
doesn't have an id, which we can't get if to persist it we need an OC
first, which in turn, will create an order_cycle_schedules.
This commit is contained in:
Pau Perez
2020-05-22 14:10:23 +02:00
parent 16dfb3c7e9
commit e339a37cd5
2 changed files with 11 additions and 3 deletions

View File

@@ -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.*') }

View File

@@ -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