spec for multiple plucked columns
This commit is contained in:
@@ -119,7 +119,7 @@ module HasAuxTable
|
|||||||
)
|
)
|
||||||
|
|
||||||
pluck_method = relation_class.instance_method(:pluck)
|
pluck_method = relation_class.instance_method(:pluck)
|
||||||
relation_class.send(:define_method, :pluck) do |column_names|
|
relation_class.send(:define_method, :pluck) do |*column_names|
|
||||||
T.bind(self, ActiveRecord::Relation)
|
T.bind(self, ActiveRecord::Relation)
|
||||||
if (predicates = Util.try_relation_optimization(self, aux_config))
|
if (predicates = Util.try_relation_optimization(self, aux_config))
|
||||||
aux_relation = aux_config.aux.klass.where(predicates)
|
aux_relation = aux_config.aux.klass.where(predicates)
|
||||||
|
|||||||
@@ -86,6 +86,19 @@ RSpec.describe "loading optimizations" do
|
|||||||
|
|
||||||
it_behaves_like "queries both tables"
|
it_behaves_like "queries both tables"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "multiple columns" do
|
||||||
|
before do
|
||||||
|
@queries =
|
||||||
|
SpecHelper.capture_queries do
|
||||||
|
expect(Car.pluck(:fuel_type, :engine_size)).to eq(
|
||||||
|
[["gasoline", 2.0], ["hybrid", 1.5], ["electric", 1.8]]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like "queries only the aux table"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "maximum" do
|
describe "maximum" do
|
||||||
|
|||||||
Reference in New Issue
Block a user