Skip to content

Instantly share code, notes, and snippets.

@bradpauly
Created February 24, 2023 18:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bradpauly/bce840a6b1dbfdfde14ff9f759f432c2 to your computer and use it in GitHub Desktop.
Save bradpauly/bce840a6b1dbfdfde14ff9f759f432c2 to your computer and use it in GitHub Desktop.
require "minitest/autorun"
require "minitest/spec"
class Pager
def initialize(total_rows:, rows_per_page:)
@total_rows = total_rows
@rows_per_page = rows_per_page
end
def total_pages
(@total_rows/@rows_per_page.to_f).ceil
end
end
describe Pager do
describe "#total_pages" do
it "rounds up to the next whole number" do
pager = Pager.new(total_rows: 33, rows_per_page: 10)
assert_equal pager.total_pages, 4
end
it "returns 1 when there are less than rows_per_page" do
pager = Pager.new(total_rows: 3, rows_per_page: 10)
assert_equal pager.total_pages, 1
end
it "returns 0 when there are 0 rows" do
pager = Pager.new(total_rows: 0, rows_per_page: 10)
assert_equal pager.total_pages, 0
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment