phase002 complete
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
FactoryBot.define do
|
||||
factory :maintenance_entry do
|
||||
vehicle
|
||||
association :updated_by_user, factory: :user
|
||||
name { "Oil Change" }
|
||||
notes { "Oil change performed by Fleet Service Center." }
|
||||
odometer { 10_500 }
|
||||
cost { 89.95 }
|
||||
date { Date.current }
|
||||
|
||||
transient do
|
||||
ensure_matching_schedule { true }
|
||||
end
|
||||
|
||||
after(:build) do |maintenance_entry, evaluator|
|
||||
next unless evaluator.ensure_matching_schedule
|
||||
next if maintenance_entry.vehicle.blank?
|
||||
|
||||
scheduled = maintenance_entry.vehicle.maintenance_schedules.any? do |schedule|
|
||||
schedule.maintenance_type.casecmp?(maintenance_entry.name)
|
||||
end
|
||||
|
||||
next if scheduled
|
||||
|
||||
maintenance_entry.vehicle.maintenance_schedules.build(
|
||||
maintenance_type: maintenance_entry.name,
|
||||
mileage_interval: 5_000,
|
||||
time_interval: 180
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user