Files
car-tracker/spec/models/fuel_entry_spec.rb
T
2026-09-15 20:28:07 -06:00

39 lines
1011 B
Ruby

require "rails_helper"
RSpec.describe FuelEntry do
it "has a valid factory" do
expect(build(:fuel_entry)).to be_valid
end
it "requires all fields" do
entry = build(
:fuel_entry,
vehicle: nil,
updated_by_user: nil,
odometer: nil,
gallons_pumped: nil,
price_paid: nil,
date: nil
)
expect(entry).not_to be_valid
expect(entry.errors.attribute_names).to include(:vehicle, :updated_by_user, :odometer, :gallons_pumped, :price_paid, :date)
end
it "requires valid numeric values" do
entry = build(:fuel_entry, odometer: -1, gallons_pumped: 0, price_paid: 0)
expect(entry).not_to be_valid
expect(entry.errors[:odometer]).to be_present
expect(entry.errors[:gallons_pumped]).to be_present
expect(entry.errors[:price_paid]).to be_present
end
it "rejects future dates" do
entry = build(:fuel_entry, date: Date.current + 1.day)
expect(entry).not_to be_valid
expect(entry.errors[:date]).to be_present
end
end