Sha256: 479fe8eb928b2d34ac89ee29b1f943389dc23885734f9f353acaad8a27383e8d
Contents?: true
Size: 1.99 KB
Versions: 7
Compression:
Stored size: 1.99 KB
Contents
require 'spec_helper' if defined? ActiveRecord describe BootstrapPager::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 context "when total_count receives options" do it "should return a distinct total count" do User.page(1).total_count(:name, :distinct => true).should == 4 end end context "when count receives options" do it "should return a distinct set by column" do User.page(1).count(:name, :distinct => true).should == 4 end end context "when the scope returns an ActiveSupport::OrderedHash" do it "should not throw exception by passing options to count" do lambda { @author.readers.by_read_count.page(1).total_count(:name, :distinct => true) }.should_not raise_exception end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems