Adjust specs regarding #where_object_changes to prevent possible coincidental errors; also acknowledge inconsistent nature of fixnum value args
This commit is contained in:
parent
cd7c09e258
commit
1ad78383aa
|
@ -174,7 +174,7 @@ version.event
|
|||
# Query versions objects by attributes.
|
||||
PaperTrail::Version.where_object(attr1: val1, attr2: val2)
|
||||
|
||||
# Query versions object_changes field by attributes (requires [`object_changes`](https://github.com/airblade/paper_trail#diffing-versions) column on versions table)
|
||||
# Query versions object_changes field by attributes (requires [`object_changes`](https://github.com/airblade/paper_trail#diffing-versions) column on versions table). Also can't guarantee consistent results for values of type Fixnum due to limitations of wildcard matchers against the column.
|
||||
PaperTrail::Version.where_object_changes(attr1: val1)
|
||||
```
|
||||
|
||||
|
|
|
@ -122,11 +122,11 @@ describe PaperTrail::Version, :type => :model do
|
|||
context "valid arguments", :versioning => true do
|
||||
let(:widget) { Widget.new }
|
||||
let(:name) { Faker::Name.first_name }
|
||||
let(:int) { rand(10) + 1 }
|
||||
let(:int) { rand(5) + 2 }
|
||||
|
||||
before do
|
||||
widget.update_attributes!(:name => name, :an_integer => 0)
|
||||
widget.update_attributes!(:name => 'foobar', :an_integer => 100)
|
||||
widget.update_attributes!(:name => 'foobar', :an_integer => 77)
|
||||
widget.update_attributes!(:name => Faker::Name.last_name, :an_integer => int)
|
||||
end
|
||||
|
||||
|
@ -135,12 +135,12 @@ describe PaperTrail::Version, :type => :model do
|
|||
|
||||
it "should be able to locate versions according to their `object_changes` contents" do
|
||||
expect(widget.versions.where_object_changes(:name => name)).to eq(widget.versions[0..1])
|
||||
expect(widget.versions.where_object_changes(:an_integer => 100)).to eq(widget.versions[1..2])
|
||||
expect(widget.versions.where_object_changes(:an_integer => 77)).to eq(widget.versions[1..2])
|
||||
expect(widget.versions.where_object_changes(:an_integer => int)).to eq([widget.versions.last])
|
||||
end
|
||||
|
||||
it "should be able to handle queries for multiple attributes" do
|
||||
expect(widget.versions.where_object_changes(:an_integer => 100, :name => 'foobar')).to eq(widget.versions[1..2])
|
||||
expect(widget.versions.where_object_changes(:an_integer => 77, :name => 'foobar')).to eq(widget.versions[1..2])
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -150,12 +150,12 @@ describe PaperTrail::Version, :type => :model do
|
|||
|
||||
it "should be able to locate versions according to their `object_changes` contents" do
|
||||
expect(widget.versions.where_object_changes(:name => name)).to eq(widget.versions[0..1])
|
||||
expect(widget.versions.where_object_changes(:an_integer => 100)).to eq(widget.versions[1..2])
|
||||
expect(widget.versions.where_object_changes(:an_integer => 77)).to eq(widget.versions[1..2])
|
||||
expect(widget.versions.where_object_changes(:an_integer => int)).to eq([widget.versions.last])
|
||||
end
|
||||
|
||||
it "should be able to handle queries for multiple attributes" do
|
||||
expect(widget.versions.where_object_changes(:an_integer => 100, :name => 'foobar')).to eq(widget.versions[1..2])
|
||||
expect(widget.versions.where_object_changes(:an_integer => 77, :name => 'foobar')).to eq(widget.versions[1..2])
|
||||
end
|
||||
|
||||
after(:all) { PaperTrail.serializer = PaperTrail::Serializers::YAML }
|
||||
|
|
Loading…
Reference in New Issue