Fix more parameter sanitisation issues and add tests
This commit is contained in:
parent
3763cbc7d4
commit
fe1e28b4f4
10 changed files with 128 additions and 5 deletions
|
@ -2044,6 +2044,18 @@ EOF
|
|||
check_list_result(Changeset.where("id <= 4"))
|
||||
end
|
||||
|
||||
##
|
||||
# Check that a list with a next page link works
|
||||
def test_list_more
|
||||
create_list(:changeset, 50)
|
||||
|
||||
get :list, :params => { :format => "html" }
|
||||
assert_response :success
|
||||
|
||||
get :list, :params => { :format => "html" }, :xhr => true
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
##
|
||||
# This should display the last 20 non-empty changesets
|
||||
def test_feed
|
||||
|
|
|
@ -570,6 +570,21 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
check_diary_list
|
||||
end
|
||||
|
||||
def test_list_paged
|
||||
# Create several pages worth of diary entries
|
||||
create_list(:diary_entry, 50)
|
||||
|
||||
# Try and get the list
|
||||
get :list
|
||||
assert_response :success
|
||||
assert_select "div.diary_post", :count => 20
|
||||
|
||||
# Try and get the second page
|
||||
get :list, :params => { :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "div.diary_post", :count => 20
|
||||
end
|
||||
|
||||
def test_rss
|
||||
create(:language, :code => "de")
|
||||
create(:diary_entry, :language_code => "en")
|
||||
|
|
|
@ -999,4 +999,20 @@ class NotesControllerTest < ActionController::TestCase
|
|||
get :mine, :params => { :display_name => "non-existent" }
|
||||
assert_response :not_found
|
||||
end
|
||||
|
||||
def test_mine_paged
|
||||
user = create(:user)
|
||||
|
||||
create_list(:note, 50) do |note|
|
||||
create(:note_comment, :note => note, :author => user)
|
||||
end
|
||||
|
||||
get :mine, :params => { :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_select "table.note_list tr", :count => 11
|
||||
|
||||
get :mine, :params => { :display_name => user.display_name, :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "table.note_list tr", :count => 11
|
||||
end
|
||||
end
|
||||
|
|
|
@ -257,6 +257,26 @@ class TraceControllerTest < ActionController::TestCase
|
|||
assert_template "user/no_such_user"
|
||||
end
|
||||
|
||||
# Check a multi-page list
|
||||
def test_list_paged
|
||||
# Create several pages worth of traces
|
||||
create_list(:trace, 50)
|
||||
|
||||
# Try and get the list
|
||||
get :list
|
||||
assert_response :success
|
||||
assert_select "table#trace_list tbody", :count => 1 do
|
||||
assert_select "tr", :count => 20
|
||||
end
|
||||
|
||||
# Try and get the second page
|
||||
get :list, :params => { :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "table#trace_list tbody", :count => 1 do
|
||||
assert_select "tr", :count => 20
|
||||
end
|
||||
end
|
||||
|
||||
# Check that the rss loads
|
||||
def test_rss
|
||||
user = create(:user)
|
||||
|
|
|
@ -73,6 +73,24 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
##
|
||||
# test the index action with multiple pages
|
||||
def test_index_paged
|
||||
create_list(:user_block, 50)
|
||||
|
||||
get :index
|
||||
assert_response :success
|
||||
assert_select "table#block_list", :count => 1 do
|
||||
assert_select "tr", :count => 21
|
||||
end
|
||||
|
||||
get :index, :params => { :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "table#block_list", :count => 1 do
|
||||
assert_select "tr", :count => 21
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# test the show action
|
||||
def test_show
|
||||
|
@ -421,6 +439,25 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
##
|
||||
# test the blocks_on action with multiple pages
|
||||
def test_blocks_on_paged
|
||||
user = create(:user)
|
||||
create_list(:user_block, 50, :user => user)
|
||||
|
||||
get :blocks_on, :params => { :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_select "table#block_list", :count => 1 do
|
||||
assert_select "tr", :count => 21
|
||||
end
|
||||
|
||||
get :blocks_on, :params => { :display_name => user.display_name, :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "table#block_list", :count => 1 do
|
||||
assert_select "tr", :count => 21
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# test the blocks_by action
|
||||
def test_blocks_by
|
||||
|
@ -465,4 +502,23 @@ class UserBlocksControllerTest < ActionController::TestCase
|
|||
assert_select "table#block_list", false
|
||||
assert_select "p", "#{normal_user.display_name} has not made any blocks yet."
|
||||
end
|
||||
|
||||
##
|
||||
# test the blocks_by action with multiple pages
|
||||
def test_blocks_by_paged
|
||||
user = create(:moderator_user)
|
||||
create_list(:user_block, 50, :creator => user)
|
||||
|
||||
get :blocks_by, :params => { :display_name => user.display_name }
|
||||
assert_response :success
|
||||
assert_select "table#block_list", :count => 1 do
|
||||
assert_select "tr", :count => 21
|
||||
end
|
||||
|
||||
get :blocks_by, :params => { :display_name => user.display_name, :page => 2 }
|
||||
assert_response :success
|
||||
assert_select "table#block_list", :count => 1 do
|
||||
assert_select "tr", :count => 21
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue