Sha256: 6861a07a32c2de236cac2039e9d3e98d6b0b52d91dedb86304c5eb47d92472ec

Contents?: true

Size: 1.54 KB

Versions: 9

Compression:

Stored size: 1.54 KB

Contents

require 'cases/helper_sqlserver'

class ExecuteProcedureTestSQLServer < ActiveRecord::TestCase

  it 'execute a simple procedure' do
    tables = ActiveRecord::Base.execute_procedure :sp_tables
    assert_instance_of Array, tables
    assert tables.first.respond_to?(:keys)
  end

  it 'take parameter arguments' do
    tables = ActiveRecord::Base.execute_procedure :sp_tables, 'sst_datatypes'
    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

  it 'allow multiple result sets to be returned' do
    results1, results2 = ActiveRecord::Base.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

  it 'take named parameter arguments' do
    tables = ActiveRecord::Base.execute_procedure :sp_tables, table_name: 'tables', table_owner: 'sys'
    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 'VIEW', table_info['TABLE_TYPE'], "Table Info: #{table_info.inspect}"
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
activerecord-sqlserver-adapter-4.2.8 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.6 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.5 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.4 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.3 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.2 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.1 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.0 test/cases/execute_procedure_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.0.pre test/cases/execute_procedure_test_sqlserver.rb