phase002 complete

This commit is contained in:
2026-09-15 20:28:07 -06:00
parent 9793cd08bc
commit a3a65c24ed
28 changed files with 656 additions and 13 deletions
+32
View File
@@ -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