Commit 0012e836229a8e5dbb390a6926096040fa12993c
Committed by
Antonio Terceiro
1 parent
55ac1172
Exists in
master
and in
28 other branches
Fixed bug of blog posts pagination
(ActionItem1622)
Showing
2 changed files
with
33 additions
and
1 deletions
Show diff stats
app/helpers/application_helper.rb
... | ... | @@ -947,7 +947,7 @@ module ApplicationHelper |
947 | 947 | end |
948 | 948 | |
949 | 949 | def article_to_html(article, options = {}) |
950 | - options.merge(:page => params[:npage]) | |
950 | + options.merge!(:page => params[:npage]) | |
951 | 951 | content = article.to_html(options) |
952 | 952 | return self.instance_eval(&content) if content.kind_of?(Proc) |
953 | 953 | content | ... | ... |
test/functional/content_viewer_controller_test.rb
... | ... | @@ -614,6 +614,38 @@ class ContentViewerControllerTest < Test::Unit::TestCase |
614 | 614 | assert_tag :tag => 'a', :attributes => { :href => "/#{profile.identifier}/#{blog.path}?npage=2", :rel => 'next' } |
615 | 615 | end |
616 | 616 | |
617 | + should 'display first page of blog posts' do | |
618 | + blog = Blog.create!(:name => 'My blog', :profile => profile, :posts_per_page => 5) | |
619 | + for n in 1..10 | |
620 | + blog.children << TextileArticle.create!(:name => "Post #{n}", :profile => profile, :parent => blog) | |
621 | + end | |
622 | + assert_equal 10, blog.posts.size | |
623 | + | |
624 | + get :view_page, :profile => profile.identifier, :page => [blog.path] | |
625 | + for n in 1..5 | |
626 | + assert_no_tag :tag => 'h1', :attributes => { :class => 'title' }, :descendant => {:tag => 'a', :attributes => {:href => /\/#{profile.identifier}\/my-blog\/post-#{n}/}, :content => "Post #{n}"} | |
627 | + end | |
628 | + for n in 6..10 | |
629 | + assert_tag :tag => 'h1', :attributes => { :class => 'title' }, :descendant => {:tag => 'a', :attributes => {:href => /\/#{profile.identifier}\/my-blog\/post-#{n}/}, :content => "Post #{n}"} | |
630 | + end | |
631 | + end | |
632 | + | |
633 | + should 'display others pages of blog posts' do | |
634 | + blog = Blog.create!(:name => 'My blog', :profile => profile, :posts_per_page => 5) | |
635 | + for n in 1..10 | |
636 | + blog.children << TextileArticle.create!(:name => "Post #{n}", :profile => profile, :parent => blog) | |
637 | + end | |
638 | + assert_equal 10, blog.posts.size | |
639 | + | |
640 | + get :view_page, :profile => profile.identifier, :page => [blog.path], :npage => 2 | |
641 | + for n in 1..5 | |
642 | + assert_tag :tag => 'h1', :attributes => { :class => 'title' }, :descendant => {:tag => 'a', :attributes => {:href => /\/#{profile.identifier}\/my-blog\/post-#{n}/}, :content => "Post #{n}"} | |
643 | + end | |
644 | + for n in 6..10 | |
645 | + assert_no_tag :tag => 'h1', :attributes => { :class => 'title' }, :descendant => {:tag => 'a', :attributes => {:href => /\/#{profile.identifier}\/my-blog\/post-#{n}/}, :content => "Post #{n}"} | |
646 | + end | |
647 | + end | |
648 | + | |
617 | 649 | should 'set year and month filter from URL params' do |
618 | 650 | profile.articles << Blog.new(:name => 'A blog test', :profile => profile) |
619 | 651 | year, month = profile.blog.created_at.year.to_s, '%02d' % profile.blog.created_at.month | ... | ... |