Sha256: faabb2ab0b365b3166e523071d4f4b6c27f33eacdddb476d9c3180c56cb1429c

Contents?: true

Size: 1.45 KB

Versions: 2

Compression:

Stored size: 1.45 KB

Contents

require File.expand_path("../../test_helper", File.dirname(__FILE__))

class QueryMethodsTest < ActiveRecord::TestCase
  def setup
    @klass = Widget
    @relation = @klass.scoped
  end
  
  # Relation methods =========================================================
  test "paginate should return first fifty items by default" do
    assert_equal_relation @relation.limit(50), @relation.paginate
  end

  test "paginate should return second fifty items if page number is two" do
    assert_equal_relation @relation.offset(50).limit(50), @relation.paginate(2)
  end
  
  test "paginate should return first n items as specified by per_page" do
    assert_equal_relation @relation.limit(37), @relation.paginate(:per_page => 37)
  end
  
  test "paginated? should return true if paginate has been called" do
    assert_equal true, @relation.paginate.paginated?
  end

  test "paginated? should return false if paginate has not been called" do
    assert_equal false, @relation.paginated?
  end
  
  test "paginated? should return false if everything fits on one page" do
    assert_equal false, @relation.paginate(:per_page => 1234).paginated?
  end
  
  # Class methods ============================================================
  test "paginate on class should return first fifty items by default" do
    assert_equal_relation @relation.limit(50), @klass.paginate
  end
  
  test "paginated? on class should return false" do
    assert_equal false, @klass.paginated?
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
paginary-0.0.1.pre2 test/unit/relation/query_methods_test.rb
paginary-0.0.1.pre1 test/unit/relation/query_methods_test.rb