Finished phase006
This commit is contained in:
@@ -6,18 +6,43 @@ RSpec.describe MaintenanceSchedule do
|
||||
end
|
||||
|
||||
it "requires all fields" do
|
||||
schedule = build(:maintenance_schedule, vehicle: nil, maintenance_type: nil, mileage_interval: nil, time_interval: nil)
|
||||
schedule = build(
|
||||
:maintenance_schedule,
|
||||
vehicle: nil,
|
||||
maintenance_type: nil,
|
||||
mileage_interval: nil,
|
||||
time_interval: nil,
|
||||
baseline_odometer: nil,
|
||||
baseline_date: nil,
|
||||
active: nil
|
||||
)
|
||||
|
||||
expect(schedule).not_to be_valid
|
||||
expect(schedule.errors.attribute_names).to include(:vehicle, :maintenance_type, :mileage_interval, :time_interval)
|
||||
expect(schedule.errors.attribute_names).to include(
|
||||
:vehicle,
|
||||
:maintenance_type,
|
||||
:mileage_interval,
|
||||
:time_interval,
|
||||
:baseline_odometer,
|
||||
:baseline_date,
|
||||
:active
|
||||
)
|
||||
end
|
||||
|
||||
it "requires positive integer intervals" do
|
||||
schedule = build(:maintenance_schedule, mileage_interval: 0, time_interval: 0)
|
||||
it "requires valid numeric values" do
|
||||
schedule = build(:maintenance_schedule, mileage_interval: 0, time_interval: 0, baseline_odometer: -1)
|
||||
|
||||
expect(schedule).not_to be_valid
|
||||
expect(schedule.errors[:mileage_interval]).to be_present
|
||||
expect(schedule.errors[:time_interval]).to be_present
|
||||
expect(schedule.errors[:baseline_odometer]).to be_present
|
||||
end
|
||||
|
||||
it "rejects future baseline dates" do
|
||||
schedule = build(:maintenance_schedule, baseline_date: Date.current + 1.day)
|
||||
|
||||
expect(schedule).not_to be_valid
|
||||
expect(schedule.errors[:baseline_date]).to be_present
|
||||
end
|
||||
|
||||
it "requires maintenance type to be unique per vehicle case-insensitively" do
|
||||
|
||||
Reference in New Issue
Block a user