Sha256: 3da0281c69f58e15fecee7aef825797aeea3a8325d00cfb43321af94de0e665d

Contents?: true

Size: 1.63 KB

Versions: 7

Compression:

Stored size: 1.63 KB

Contents

# frozen_string_literal: true

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

7 entries across 7 versions & 1 rubygems

Version Path
activerecord-sqlserver-adapter-6.0.3 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-6.1.0.0 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-6.1.0.0.rc1 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-6.0.2 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-6.0.1 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-6.0.0 test/cases/fetch_test_sqlserver.rb
activerecord-sqlserver-adapter-6.0.0.rc2 test/cases/fetch_test_sqlserver.rb