+ def test_search_issues
+ # Login as administrator
+ session[:user] = users(:administrator_user).id
+
+ # No issues against the user
+ get :index, :search_by_user => "test1"
+ assert_response :redirect
+ assert_redirected_to issues_path
+
+ # User doesn't exist
+ get :index, :search_by_user => "test1000"
+ assert_response :redirect
+ assert_redirected_to issues_path
+
+ # Create Issue against user_id:2
+ test_new_issue_after_login
+ assert_equal Issue.count, 1
+ assert_equal Issue.first.reported_user_id, 2
+
+ session[:user] = users(:administrator_user).id
+
+ # Find Issue against user_id:2
+ get :index, :search_by_user => "test2"
+ assert_response :success
+
+ # clear session
+ session.delete(:user)
+ end
+
+ def test_comment_by_normal_user
+ # Create Issue
+ test_new_issue_after_login
+ assert_equal Issue.count, 1
+
+ get :comment, :id => 1
+ assert_response :redirect
+ assert_redirected_to root_path
+ end
+
+ def test_comment
+ # Create Issue
+ test_new_issue_after_login
+ assert_equal Issue.count, 1
+ @issue = Issue.all.first
+
+ # Login as administrator
+ session[:user] = users(:administrator_user).id
+
+ get :comment, :id => @issue.id, :issue_comment => { :body => "test comment" }
+ assert_response :redirect
+ assert_redirected_to @issue
+
+ # clear session
+ session.delete(:user)
+ end