spec/arel/engines/sql/unit/relations/table_spec.rb in arel-0.1.2 vs spec/arel/engines/sql/unit/relations/table_spec.rb in arel-0.2.pre
- old
+ new
@@ -24,10 +24,30 @@
})
end
end
end
+ describe '#as' do
+ it "manufactures a simple select query using aliases" do
+ sql = @relation.as(:super_users).to_sql
+
+ adapter_is :mysql do
+ sql.should be_like(%Q{
+ SELECT `super_users`.`id`, `super_users`.`name`
+ FROM `users` AS `super_users`
+ })
+ end
+
+ adapter_is_not :mysql do
+ sql.should be_like(%Q{
+ SELECT "super_users"."id", "super_users"."name"
+ FROM "users" AS "super_users"
+ })
+ end
+ end
+ end
+
describe '#column_for' do
it "returns the column corresponding to the attribute" do
@relation.column_for(@relation[:id]).should == @relation.columns.detect { |c| c.name == 'id' }
end
end
@@ -40,11 +60,11 @@
]
end
describe '#reset' do
it "reloads columns from the database" do
- lambda { stub(@relation.engine).columns { [] } }.should_not change { @relation.attributes }
- lambda { @relation.reset }.should change { @relation.attributes }
+ lambda { @relation.engine.stub!(:columns => []) }.should_not change { @relation.attributes }
+ lambda { @relation.reset }.should change { @relation.attributes }
end
end
end
describe 'hashing' do