Sha256: 5db129c814890d346a571aa7d4cde4badf6bb76d12eb41e722d57ac17a1338b5

Contents?: true

Size: 1.27 KB

Versions: 2

Compression:

Stored size: 1.27 KB

Contents

require File.expand_path('../spec_helper', File.dirname(__FILE__))

describe Kaminari::ActiveRecordRelationMethods do
  describe '#total_count' do
    before do
      @author = User.create! :name => 'author'
      @author2 = User.create! :name => 'author2'
      @author3 = User.create! :name => 'author3'
      @books = 2.times.map {|i| @author.books_authored.create!(:title => "title%03d" % i) }
      @books2 = 3.times.map {|i| @author2.books_authored.create!(:title => "title%03d" % i) }
      @books3 = 4.times.map {|i| @author3.books_authored.create!(:title => "subject%03d" % i) }
      @readers = 4.times.map { User.create! :name => 'reader' }
      @books.each {|book| book.readers << @readers }
    end

    context "when the scope includes an order which references a generated column" do
      it "should successfully count the results" do
        @author.readers.by_read_count.page(1).total_count.should == @readers.size
      end
    end
    context "when the scope use conditions on includes" do
      it "should keep includes and successfully count the results" do
        # Only @author and @author2 have books titled with the title00x partern
        User.includes(:books_authored).where("books.title LIKE 'title00%'").page(1).total_count.should == 2
      end
    end    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kaminari-0.12.3 spec/models/active_record_relation_methods_spec.rb
kaminari-0.12.2 spec/models/active_record_relation_methods_spec.rb