Sha256: 476dab5ded35840fe35a18ea3791e5388004e58009b7e6c883c69b58ebe808f1

Contents?: true

Size: 1.43 KB

Versions: 4

Compression:

Stored size: 1.43 KB

Contents

require File.expand_path('../spec_helper', File.dirname(__FILE__))
require 'mongoid'
require File.expand_path('../../lib/kaminari/models/mongoid_extension', File.dirname(__FILE__))

describe Kaminari::MongoidExtension do
  before :all do
    class Developer
      include ::Mongoid::Document
    end
  end
  before do
    stub(subject).count { 300 } # in order to avoid DB access...
  end

  describe '#page' do
    context 'page 1' do
      subject { Developer.page 1 }
      it { should be_a Mongoid::Criteria }
      its(:current_page) { should == 1 }
      its(:limit_value) { should == 25 }
      its(:num_pages) { should == 12 }
      it { should skip(0) }
    end

    context 'page 2' do
      subject { Developer.page 2 }
      it { should be_a Mongoid::Criteria }
      its(:current_page) { should == 2 }
      its(:limit_value) { should == 25 }
      its(:num_pages) { should == 12 }
      it { should skip 25 }
    end

    context 'page "foobar"' do
      subject { Developer.page 'foobar' }
      it { should be_a Mongoid::Criteria }
      its(:current_page) { should == 1 }
      its(:limit_value) { should == 25 }
      its(:num_pages) { should == 12 }
      it { should skip 0 }
    end
  end

  describe '#per' do
    subject { Developer.page(2).per(10) }
    it { should be_a Mongoid::Criteria }
    its(:current_page) { should == 2 }
    its(:limit_value) { should == 10 }
    its(:num_pages) { should == 30 }
    it { should skip 10 }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kaminari-0.10.3 spec/models/mongoid_spec.rb
kaminari-0.10.2 spec/models/mongoid_spec.rb
kaminari-0.10.1 spec/models/mongoid_spec.rb
kaminari-0.10.0 spec/models/mongoid_spec.rb