in spec/api/comment_thread_spec.rb [359:388]
def test_paged_order (sort_spec, expected_order, filter_spec=[], user_id=nil)
actual_order = []
per_page = sort_spec['per_page']
num_pages = (expected_order.length + per_page - 1) / per_page
num_pages.times do |i|
page = i + 1
result = thread_result_page(
sort_spec['sort_key'],
page,
per_page,
DFLT_COURSE_ID,
user_id,
filter_spec.include?("unread")
)
result["collection"].length.should == (page * per_page <= expected_order.length ? per_page : expected_order.length % per_page)
if filter_spec.include?("unread")
result["num_pages"].should == (page == num_pages ? page : page + 1)
else
result["num_pages"].should == num_pages
end
result["page"].should == page
actual_order += result["collection"].map { |v| v["title"] }
end
actual_order.should == expected_order
end