test_paged_order

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