rests for range queries
This commit is contained in:
@@ -1235,4 +1235,66 @@ RSpec.describe HasAuxTable do
|
|||||||
expect(specific_b.on_aux).to eq("2b_aux")
|
expect(specific_b.on_aux).to eq("2b_aux")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "range queries" do
|
||||||
|
ActiveRecord::Schema.define do
|
||||||
|
create_base_table :test_range_models do |t|
|
||||||
|
t.integer :base_field
|
||||||
|
t.create_aux :specific do |t|
|
||||||
|
t.integer :aux_field
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class TestRangeModel < ActiveRecord::Base
|
||||||
|
include HasAuxTable
|
||||||
|
end
|
||||||
|
|
||||||
|
class TestRangeModelSpecific < TestRangeModel
|
||||||
|
aux_table :specific
|
||||||
|
end
|
||||||
|
|
||||||
|
before do
|
||||||
|
@bases = (0..5).map { |i| TestRangeModel.create!(base_field: i) }
|
||||||
|
@specifics =
|
||||||
|
(0..5).map do |i|
|
||||||
|
TestRangeModelSpecific.create!(base_field: i, aux_field: i)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "works with a from..to range" do
|
||||||
|
expect(TestRangeModel.where(base_field: 1..5)).to eq(
|
||||||
|
@bases[1..5] + @specifics[1..5]
|
||||||
|
)
|
||||||
|
expect(TestRangeModelSpecific.where(base_field: 2..3)).to eq(
|
||||||
|
@specifics[2..3]
|
||||||
|
)
|
||||||
|
expect(TestRangeModelSpecific.where(aux_field: 2..3)).to eq(
|
||||||
|
@specifics[2..3]
|
||||||
|
)
|
||||||
|
expect(TestRangeModelSpecific.where(aux_field: 4..7)).to eq(
|
||||||
|
@specifics[4..5]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "works with a from.. range" do
|
||||||
|
expect(TestRangeModel.where(base_field: 1..)).to eq(
|
||||||
|
@bases[1..5] + @specifics[1..5]
|
||||||
|
)
|
||||||
|
|
||||||
|
expect(TestRangeModelSpecific.where(aux_field: 1..)).to eq(
|
||||||
|
@specifics[1..5]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "works with a ..to range" do
|
||||||
|
expect(TestRangeModel.where(base_field: ..4)).to eq(
|
||||||
|
@bases[0..4] + @specifics[0..4]
|
||||||
|
)
|
||||||
|
|
||||||
|
expect(TestRangeModelSpecific.where(aux_field: ..4)).to eq(
|
||||||
|
@specifics[0..4]
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user