.not chained queries

This commit is contained in:
Dylan Knutson
2025-07-23 23:08:46 +00:00
parent fb7912e353
commit a4c9c597e3
4 changed files with 111 additions and 69 deletions

View File

@@ -398,6 +398,12 @@ RSpec.describe HasAuxTable do
expect(cars.length).to eq(1)
expect(cars.first.name).to eq("Toyota Prius")
end
it "works for .not queries" do
cars = Car.where.not(fuel_type: "hybrid")
expect(cars.length).to eq(2)
expect(cars.map(&:name)).to eq(["Honda Civic", "Tesla Model 3"])
end
end
describe "query performance and optimization" do
@@ -782,6 +788,21 @@ RSpec.describe HasAuxTable do
expect(car.name).to eq("Honda Civic")
end
it "reloads the right value" do
car2 = Car.find(@car.id)
expect(@car.name).to eq("Toyota Prius")
@car.name = "Honda Civic"
@car.fuel_type = "gasoline"
@car.save!
@car.reload
expect(@car.name).to eq("Honda Civic")
expect(@car.fuel_type).to eq("gasoline")
car2.reload
expect(car2.name).to eq("Honda Civic")
expect(car2.fuel_type).to eq("gasoline")
end
it "reloads with one query" do
num_queries = SpecHelper.count_queries { @car.reload }
expect(num_queries).to eq(1)