forked from rails-sqlserver/activerecord-sqlserver-adapter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
execute_procedure_test_sqlserver.rb
35 lines (28 loc) · 1.16 KB
/
execute_procedure_test_sqlserver.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require 'cases/sqlserver_helper'
class ExecuteProcedureTestSqlserver < ActiveRecord::TestCase
def setup
@klass = ActiveRecord::Base
end
should 'execute a simple procedure' do
tables = @klass.execute_procedure :sp_tables
assert_instance_of Array, tables
assert tables.first.respond_to?(:keys)
end
should 'take parameter arguments' do
tables = @klass.execute_procedure :sp_tables, 'sql_server_chronics'
table_info = tables.first
assert_equal 1, tables.size
assert_equal (ENV['ARUNIT_DB_NAME'] || 'activerecord_unittest'), table_info['TABLE_QUALIFIER'], "Table Info: #{table_info.inspect}"
assert_equal 'TABLE', table_info['TABLE_TYPE'], "Table Info: #{table_info.inspect}"
end
should 'allow multiple result sets to be returned' do
results1, results2 = @klass.execute_procedure('sp_helpconstraint','accounts')
assert_instance_of Array, results1
assert results1.first.respond_to?(:keys)
assert results1.first['Object Name']
assert_instance_of Array, results2
assert results2.first.respond_to?(:keys)
assert results2.first['constraint_name']
assert results2.first['constraint_type']
end
end