aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_select_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_select_manager.rb')
-rw-r--r--test/test_select_manager.rb42
1 files changed, 25 insertions, 17 deletions
diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb
index d63bec0093..826832c5ab 100644
--- a/test/test_select_manager.rb
+++ b/test/test_select_manager.rb
@@ -26,6 +26,17 @@ module Arel
def quote_table_name thing; @engine.connection.quote_table_name thing end
def quote_column_name thing; @engine.connection.quote_column_name thing end
def quote thing, column; @engine.connection.quote thing, column end
+ def columns table, message = nil
+ @engine.connection.columns table, message
+ end
+
+ def table_exists? name
+ @engine.connection.table_exists? name
+ end
+
+ def tables
+ @engine.connection.tables
+ end
def execute sql, name = nil, *args
@executed << sql
@@ -312,7 +323,6 @@ module Arel
manager.join_sql.must_be_like %{
INNER JOIN "users" "users_2" "users"."id" = "users_2"."id"
}
- manager.joins(manager).must_equal manager.join_sql
end
it 'returns outer join sql' do
@@ -323,7 +333,6 @@ module Arel
manager.join_sql.must_be_like %{
LEFT OUTER JOIN "users" "users_2" "users"."id" = "users_2"."id"
}
- manager.joins(manager).must_equal manager.join_sql
end
it 'returns string join sql' do
@@ -331,7 +340,6 @@ module Arel
manager = Arel::SelectManager.new Table.engine
manager.from Nodes::StringJoin.new(table, 'hello')
manager.join_sql.must_be_like %{ 'hello' }
- manager.joins(manager).must_equal manager.join_sql
end
it 'returns nil join sql' do
@@ -393,9 +401,9 @@ module Arel
table = Table.new :users
manager = Arel::SelectManager.new engine
manager.from table
- manager.delete
+ stmt = manager.compile_delete
- engine.executed.last.must_be_like %{ DELETE FROM "users" }
+ stmt.to_sql.must_be_like %{ DELETE FROM "users" }
end
it "copies where" do
@@ -404,9 +412,9 @@ module Arel
manager = Arel::SelectManager.new engine
manager.from table
manager.where table[:id].eq 10
- manager.delete
+ stmt = manager.compile_delete
- engine.executed.last.must_be_like %{
+ stmt.to_sql.must_be_like %{
DELETE FROM "users" WHERE "users"."id" = 10
}
end
@@ -436,9 +444,9 @@ module Arel
manager = Arel::SelectManager.new engine
manager.from table
manager.take 1
- manager.update(SqlLiteral.new('foo = bar'))
+ stmt = manager.compile_update(SqlLiteral.new('foo = bar'))
- engine.executed.last.must_be_like %{
+ stmt.to_sql.must_be_like %{
UPDATE "users" SET foo = bar
WHERE "users"."id" IN (SELECT "users"."id" FROM "users" LIMIT 1)
}
@@ -450,9 +458,9 @@ module Arel
manager = Arel::SelectManager.new engine
manager.from table
manager.order :foo
- manager.update(SqlLiteral.new('foo = bar'))
+ stmt = manager.compile_update(SqlLiteral.new('foo = bar'))
- engine.executed.last.must_be_like %{
+ stmt.to_sql.must_be_like %{
UPDATE "users" SET foo = bar
WHERE "users"."id" IN (SELECT "users"."id" FROM "users" ORDER BY foo)
}
@@ -463,9 +471,9 @@ module Arel
table = Table.new :users
manager = Arel::SelectManager.new engine
manager.from table
- manager.update(SqlLiteral.new('foo = bar'))
+ stmt = manager.compile_update(SqlLiteral.new('foo = bar'))
- engine.executed.last.must_be_like %{ UPDATE "users" SET foo = bar }
+ stmt.to_sql.must_be_like %{ UPDATE "users" SET foo = bar }
end
it 'copies where clauses' do
@@ -474,9 +482,9 @@ module Arel
manager = Arel::SelectManager.new engine
manager.where table[:id].eq 10
manager.from table
- manager.update(table[:id] => 1)
+ stmt = manager.compile_update(table[:id] => 1)
- engine.executed.last.must_be_like %{
+ stmt.to_sql.must_be_like %{
UPDATE "users" SET "id" = 1 WHERE "users"."id" = 10
}
end
@@ -486,9 +494,9 @@ module Arel
table = Table.new :users
manager = Arel::SelectManager.new engine
manager.from table
- manager.update(table[:id] => 1)
+ stmt = manager.compile_update(table[:id] => 1)
- engine.executed.last.must_be_like %{
+ stmt.to_sql.must_be_like %{
UPDATE "users" SET "id" = 1
}
end