Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed EngineProxy in SelectManager tests #234

Merged
merged 1 commit into from Jan 4, 2014
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
76 changes: 8 additions & 68 deletions test/test_select_manager.rb
@@ -1,58 +1,6 @@
require 'helper'

module Arel
class EngineProxy
attr_reader :executed
attr_reader :connection_pool
attr_reader :spec
attr_reader :config

def initialize engine
@engine = engine
@executed = []
@connection_pool = self
@spec = self
@config = { :adapter => 'sqlite3' }
end

def with_connection
yield self
end

def connection
self
end

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 columns_hash
@engine.connection.columns_hash
end

def table_exists? name
@engine.connection.table_exists? name
end

def tables
@engine.connection.tables
end

def visitor
@engine.connection.visitor
end

def execute sql, name = nil, *args
@executed << sql
end
alias :update :execute
alias :delete :execute
alias :insert :execute
end

describe 'select manager' do
def test_join_sources
Expand Down Expand Up @@ -874,19 +822,17 @@ def test_join_sources

describe 'delete' do
it "copies from" do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.from table
stmt = manager.compile_delete

stmt.to_sql.must_be_like %{ DELETE FROM "users" }
end

it "copies where" do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.from table
manager.where table[:id].eq 10
stmt = manager.compile_delete
Expand Down Expand Up @@ -916,9 +862,8 @@ def test_join_sources

describe 'update' do
it 'copies limits' do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.from table
manager.take 1
stmt = manager.compile_update(SqlLiteral.new('foo = bar'), Arel::Attributes::Attribute.new(table, 'id'))
Expand All @@ -931,9 +876,8 @@ def test_join_sources
end

it 'copies order' do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.from table
manager.order :foo
stmt = manager.compile_update(SqlLiteral.new('foo = bar'), Arel::Attributes::Attribute.new(table, 'id'))
Expand All @@ -946,19 +890,17 @@ def test_join_sources
end

it 'takes a string' do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.from table
stmt = manager.compile_update(SqlLiteral.new('foo = bar'), Arel::Attributes::Attribute.new(table, 'id'))

stmt.to_sql.must_be_like %{ UPDATE "users" SET foo = bar }
end

it 'copies where clauses' do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.where table[:id].eq 10
manager.from table
stmt = manager.compile_update({table[:id] => 1}, Arel::Attributes::Attribute.new(table, 'id'))
Expand All @@ -969,9 +911,8 @@ def test_join_sources
end

it 'copies where clauses when nesting is triggered' do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.where table[:foo].eq 10
manager.take 42
manager.from table
Expand All @@ -983,9 +924,8 @@ def test_join_sources
end

it 'executes an update statement' do
engine = EngineProxy.new Table.engine
table = Table.new :users
manager = Arel::SelectManager.new engine
manager = Arel::SelectManager.new Table.engine
manager.from table
stmt = manager.compile_update({table[:id] => 1}, Arel::Attributes::Attribute.new(table, 'id'))

Expand Down