assert_select "table.note_list tbody tr", :count => 10
end
+ def test_index_invalid_paged
+ user = create(:user)
+
+ %w[-1 0 fred].each do |page|
+ get user_notes_path(user, :page => page)
+ assert_redirected_to :controller => :errors, :action => :bad_request
+ end
+ end
+
def test_empty_page
user = create(:user)
get user_notes_path(user)
def test_read_note
open_note = create(:note_with_comments)
- browse_check :note_path, open_note.id, "notes/show"
+ sidebar_browse_check :note_path, open_note.id, "notes/show"
end
def test_read_hidden_note
session_for(create(:moderator_user))
- browse_check :note_path, hidden_note_with_comment.id, "notes/show"
+ sidebar_browse_check :note_path, hidden_note_with_comment.id, "notes/show"
end
def test_read_note_hidden_comments
create(:note_comment, :note => note, :visible => false)
end
- browse_check :note_path, note_with_hidden_comment.id, "notes/show"
+ sidebar_browse_check :note_path, note_with_hidden_comment.id, "notes/show"
assert_select "div.note-comments ul li", :count => 1
session_for(create(:moderator_user))
- browse_check :note_path, note_with_hidden_comment.id, "notes/show"
+ sidebar_browse_check :note_path, note_with_hidden_comment.id, "notes/show"
assert_select "div.note-comments ul li", :count => 2
end
create(:note_comment, :note => note, :author => hidden_user)
end
- browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
+ sidebar_browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
assert_select "div.note-comments ul li", :count => 1
session_for(create(:moderator_user))
- browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
+ sidebar_browse_check :note_path, note_with_hidden_user_comment.id, "notes/show"
assert_select "div.note-comments ul li", :count => 1
end
user = create(:user)
closed_note = create(:note_with_comments, :closed, :closed_by => user, :comments_count => 2)
- browse_check :note_path, closed_note.id, "notes/show"
+ sidebar_browse_check :note_path, closed_note.id, "notes/show"
assert_select "div.note-comments ul li", :count => 2
assert_select "div.details", /Resolved by #{user.display_name}/
reset!
- browse_check :note_path, closed_note.id, "notes/show"
+ sidebar_browse_check :note_path, closed_note.id, "notes/show"
assert_select "div.note-comments ul li", :count => 1
assert_select "div.details", /Resolved by deleted/
end
- def test_new_note
+ def test_new_note_anonymous
get new_note_path
assert_response :success
assert_template "notes/new"
+ assert_select "#sidebar_content a[href='#{login_path(:referer => new_note_path)}']", :count => 1
end
- private
-
- # This is a convenience method for most of the above checks
- # First we check that when we don't have an id, it will correctly return a 404
- # then we check that we get the correct 404 when a non-existant id is passed
- # then we check that it will get a successful response, when we do pass an id
- def browse_check(path, id, template)
- path_method = method(path)
-
- assert_raise ActionController::UrlGenerationError do
- get path_method.call
- end
-
- assert_raise ActionController::UrlGenerationError do
- get path_method.call(:id => -10) # we won't have an id that's negative
- end
-
- get path_method.call(:id => 0)
- assert_response :not_found
- assert_template "browse/not_found"
- assert_template :layout => "map"
-
- get path_method.call(:id => 0), :xhr => true
- assert_response :not_found
- assert_template "browse/not_found"
- assert_template :layout => "xhr"
-
- get path_method.call(:id => id)
- assert_response :success
- assert_template template
- assert_template :layout => "map"
+ def test_new_note
+ session_for(create(:user))
- get path_method.call(:id => id), :xhr => true
+ get new_note_path
assert_response :success
- assert_template template
- assert_template :layout => "xhr"
+ assert_template "notes/new"
+ assert_select "#sidebar_content a[href='#{login_path(:referer => new_note_path)}']", :count => 0
end
end