Sha256: 4166988042cec0ab8e372b16b18d128746f68321227cb96dec2e5b0a875519f0

Contents?: true

Size: 1.59 KB

Versions: 39

Compression:

Stored size: 1.59 KB

Contents

require 'cases/helper_sqlserver'
require 'models/book'

class FetchTestSqlserver < ActiveRecord::TestCase

  let(:books) { @books }

  before { create_10_books }

  it 'work with fully qualified table and columns in select' do
    books = Book.select('books.id, books.name').limit(3).offset(5)
    assert_equal Book.all[5,3].map(&:id), books.map(&:id)
  end

  describe 'count' do

    it 'gauntlet' do
      books[0].destroy
      books[1].destroy
      books[2].destroy
      assert_equal 7, Book.count
      assert_equal 1, Book.limit(1).offset(1).count
      assert_equal 1, Book.limit(1).offset(5).count
      assert_equal 1, Book.limit(1).offset(6).count
      assert_equal 0, Book.limit(1).offset(7).count
      assert_equal 3, Book.limit(3).offset(4).count
      assert_equal 2, Book.limit(3).offset(5).count
      assert_equal 1, Book.limit(3).offset(6).count
      assert_equal 0, Book.limit(3).offset(7).count
      assert_equal 0, Book.limit(3).offset(8).count
    end

  end

  describe 'order' do

    it 'gauntlet' do
      Book.where(name:'Name-10').delete_all
      Book.order(:name).limit(1).offset(1).map(&:name).must_equal ['Name-2']
      Book.order(:name).limit(2).offset(2).map(&:name).must_equal ['Name-3', 'Name-4']
      Book.order(:name).limit(2).offset(7).map(&:name).must_equal ['Name-8', 'Name-9']
      Book.order(:name).limit(3).offset(7).map(&:name).must_equal ['Name-8', 'Name-9']
      Book.order(:name).limit(3).offset(9).map(&:name).must_equal []
    end

  end


  protected

  def create_10_books
    Book.delete_all
    @books = (1..10).map { |i| Book.create! name: "Name-#{i}" }
  end

end

Version data entries

39 entries across 39 versions & 3 rubygems

Version Path
activerecord-jdbcsqlserver-adapter-51.1.0 test/cases/fetch_test_sqlserver.rb
activerecord-jdbcsqlserver-adapter-50.1.0 test/cases/fetch_test_sqlserver.rb
activerecord-jdbcsqlserver-adapter-51.0.1 test/cases/fetch_test_sqlserver.rb
activerecord-jdbcsqlserver-adapter-51.0.0 test/cases/fetch_test_sqlserver.rb
activerecord-jdbcsqlserver-adapter-50.0.0 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.2.0 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.2.0.rc2 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.2.0.rc1 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.1.6 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.0.8 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.1.5 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.1.2 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.1.1 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.1.0 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-4.2.18 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.0.7 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.0.6 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.0.5 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.0.4 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-5.0.3 test/cases/fetch_test_sqlserver.rb