Sha256: 81b16519fad9dfb8663f2b5164eb7d8e08897f45bc8fa0376c9b229b9226be25
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
require "spec_helper" describe MongoBrowser::Models::Pager do let(:page) { 1 } let(:size) { 25 } let(:pager) { described_class.new(page, size) } subject { pager } before { pager.stub(:per_page).and_return(25) } describe "#page" do subject { pager.page } [-2, -1, 0, 1].each do |number| context "when the given page number is #{number}" do let(:page) { number } it("return the first page") { should == 1 } end end context "when the given page number exceed the total pages number" do let(:page) { 3 } let(:size) { 30 } it("returns the last page number") { should == 2 } end context "otherwise" do let(:page) { 2 } let(:size) { 26 } it("returns the current page") { should == page } end end describe "#offset" do subject { pager.offset } context "when page eq 1" do it { should == 0 } end context "otherwise" do let(:page) { 2 } let(:size) { 26 } it("return a valid offset") { should == 25 } end end describe "#total_pages" do subject { pager.total_pages } { 0 => 1, 1 => 1, 25 => 1, 26 => 2, 50 => 2, 51 => 3, 101 => 5 }.each do |size, expected| context "when the size is #{size}" do let(:size) { size } it { should == expected } end end end describe "#to_hash" do subject { pager.to_hash } it { should be_an_instance_of(Hash) } its([:size]) { should == 25 } its([:page]) { should == 1 } its([:total_pages]) { should == 1 } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongo_browser-0.2.5 | spec/lib/models/pager_spec.rb |