1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/spec/relations/attribute_spec.rb

66 lines
2.1 KiB
Ruby
Raw Normal View History

2007-12-30 14:35:44 -05:00
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
describe Attribute do
before do
@relation1 = TableRelation.new(:foo)
@relation2 = TableRelation.new(:bar)
end
2007-12-31 02:59:29 -05:00
describe '#eql?' do
2007-12-30 14:35:44 -05:00
it "obtains if the relation and attribute name are identical" do
Attribute.new(@relation1, :attribute_name).should be_eql(Attribute.new(@relation1, :attribute_name))
Attribute.new(@relation1, :attribute_name).should_not be_eql(Attribute.new(@relation1, :another_attribute_name))
Attribute.new(@relation1, :attribute_name).should_not be_eql(Attribute.new(@relation2, :attribute_name))
end
end
2007-12-31 02:59:29 -05:00
describe 'predications' do
2007-12-30 14:35:44 -05:00
before do
@attribute1 = Attribute.new(@relation1, :attribute_name)
@attribute2 = Attribute.new(@relation2, :attribute_name)
end
2007-12-31 02:59:29 -05:00
describe '==' do
2007-12-30 14:35:44 -05:00
it "manufactures an equality predicate" do
(@attribute1 == @attribute2).should == EqualityPredicate.new(@attribute1, @attribute2)
end
end
2007-12-31 02:59:29 -05:00
describe '<' do
2007-12-30 14:35:44 -05:00
it "manufactures a less-than predicate" do
(@attribute1 < @attribute2).should == LessThanPredicate.new(@attribute1, @attribute2)
end
end
2007-12-31 02:59:29 -05:00
describe '<=' do
2007-12-30 14:35:44 -05:00
it "manufactures a less-than or equal-to predicate" do
(@attribute1 <= @attribute2).should == LessThanOrEqualToPredicate.new(@attribute1, @attribute2)
end
end
2007-12-31 02:59:29 -05:00
describe '>' do
2007-12-30 14:35:44 -05:00
it "manufactures a greater-than predicate" do
(@attribute1 > @attribute2).should == GreaterThanPredicate.new(@attribute1, @attribute2)
end
end
2007-12-31 02:59:29 -05:00
describe '>=' do
2007-12-30 14:35:44 -05:00
it "manufactures a greater-than or equal to predicate" do
(@attribute1 >= @attribute2).should == GreaterThanOrEqualToPredicate.new(@attribute1, @attribute2)
end
end
2007-12-31 02:59:29 -05:00
describe '=~' do
2007-12-30 14:35:44 -05:00
it "manufactures a match predicate" do
(@attribute1 =~ /.*/).should == MatchPredicate.new(@attribute1, @attribute2)
end
end
2007-12-31 02:59:29 -05:00
end
describe '#to_sql' do
it "manufactures a column" do
Attribute.new(@relation1, :attribute_name).to_sql.should == ColumnBuilder.new(@relation1.table, :attribute_name)
end
2007-12-30 14:35:44 -05:00
end
end